Corregge il provisioning Hetzner: Faraday, cloud-init e default cpx12.
Sistemati path API /v1, AppArmor/auth MediaMTX sul nodo e defaults nbg1 così lo smoke Cloud è ripetibile. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -5,7 +5,7 @@ require "rails_helper"
|
||||
RSpec.describe Streams::CloudProviders::Hetzner do
|
||||
let(:stubs) { Faraday::Adapter::Test::Stubs.new }
|
||||
let(:conn) do
|
||||
Faraday.new(url: "https://api.hetzner.cloud/v1") do |f|
|
||||
Faraday.new(url: Streams::CloudProviders::Hetzner::API) do |f|
|
||||
f.request :json
|
||||
f.response :json
|
||||
f.adapter :test, stubs
|
||||
@@ -25,15 +25,15 @@ RSpec.describe Streams::CloudProviders::Hetzner do
|
||||
|
||||
it "creates a server and waits until running" do
|
||||
with_env(
|
||||
"HCLOUD_LOCATION" => "fsn1",
|
||||
"HCLOUD_SERVER_TYPE" => "cpx21",
|
||||
"HCLOUD_LOCATION" => "nbg1",
|
||||
"HCLOUD_SERVER_TYPE" => "cpx12",
|
||||
"HCLOUD_IMAGE" => "debian-12",
|
||||
"HCLOUD_SSH_KEY" => "matchlivetv-stream"
|
||||
"HCLOUD_SSH_KEY" => "matchlivetv-stream-hetzner"
|
||||
) do
|
||||
stubs.post("/servers") do |env|
|
||||
stubs.post("https://api.hetzner.cloud/v1/servers") do |env|
|
||||
body = JSON.parse(env.body)
|
||||
expect(body["name"]).to eq("mltv-stream-ingest-01")
|
||||
expect(body["location"]).to eq("fsn1")
|
||||
expect(body["location"]).to eq("nbg1")
|
||||
[
|
||||
201,
|
||||
{ "Content-Type" => "application/json" },
|
||||
@@ -49,10 +49,10 @@ RSpec.describe Streams::CloudProviders::Hetzner do
|
||||
}
|
||||
]
|
||||
end
|
||||
stubs.get("/actions/7") do
|
||||
stubs.get("https://api.hetzner.cloud/v1/actions/7") do
|
||||
[200, { "Content-Type" => "application/json" }, { "action" => { "id" => 7, "status" => "success" } }]
|
||||
end
|
||||
stubs.get("/servers/42") do
|
||||
stubs.get("https://api.hetzner.cloud/v1/servers/42") do
|
||||
[
|
||||
200,
|
||||
{ "Content-Type" => "application/json" },
|
||||
@@ -76,7 +76,7 @@ RSpec.describe Streams::CloudProviders::Hetzner do
|
||||
end
|
||||
|
||||
it "destroys a server" do
|
||||
stubs.delete("/servers/42") { [204, {}, ""] }
|
||||
stubs.delete("https://api.hetzner.cloud/v1/servers/42") { [204, {}, ""] }
|
||||
expect(provider.destroy_node("42")).to eq(true)
|
||||
end
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user