Files
ubicloud/spec/serializers/nic_spec.rb
Jeremy Evans 63c18ec019 Stop using serializers in the private subnet show template
Add a couple Nic methods for code that was in the Nic serializer.
2025-08-08 01:52:14 +09:00

48 lines
1.4 KiB
Ruby

# frozen_string_literal: true
require_relative "../spec_helper"
RSpec.describe Serializers::Nic do
describe ".serialize_internal" do
it "serializes a NIC with a non-/32 IPv4 subnet correctly" do
vm = instance_double(Vm, name: "test-vm")
private_ipv4 = NetAddr::IPv4Net.parse("192.168.1.0/24")
private_ipv6 = NetAddr::IPv6Net.parse("fd91:4ef3:a586:943d:c2ae::/79")
nic = Nic.new_with_id(name: "nic-name", private_ipv4: private_ipv4, private_ipv6: private_ipv6)
nic.associations[:vm] = vm
expected_result = {
id: nic.ubid,
name: "nic-name",
private_ipv4: "192.168.1.1",
private_ipv6: "fd91:4ef3:a586:943d:c2ae::2",
vm_name: "test-vm"
}
expect(described_class.serialize_internal(nic)).to eq(expected_result)
end
it "serializes a NIC object correctly" do
vm = instance_double(Vm, name: "test-vm")
private_ipv4 = NetAddr::IPv4Net.parse("10.23.34.53/32")
private_ipv6 = NetAddr::IPv6Net.parse("fd91:4ef3:a586:943d:c2ae::/79")
nic = Nic.new_with_id(name: "nic-name", private_ipv4: private_ipv4, private_ipv6: private_ipv6)
nic.associations[:vm] = vm
expected_result = {
id: nic.ubid,
name: "nic-name",
private_ipv4: "10.23.34.53",
private_ipv6: "fd91:4ef3:a586:943d:c2ae::2",
vm_name: "test-vm"
}
expect(described_class.serialize_internal(nic)).to eq(expected_result)
end
end
end