@@ -101,21 +101,19 @@ func TestInvalidVMUniqueID(t *testing.T) {
101101require .Equal (t , "" , vmUniqueID )
102102}
103103
104- func TestGetNCVersionsFromIMDS (t * testing.T ) {
104+ func TestGetNCVersions (t * testing.T ) {
105105networkMetadata := []byte (`{
106- "interface": [
107- {
108- "macAddress": "00:0D:3A:12:34:56",
109- "interfaceCompartmentVersion": "1",
110- "interfaceCompartmentId": "nc-12345-67890"
111- },
112- {
113- "macAddress": "00:0D:3A:CD:EF:12",
114- "interfaceCompartmentVersion": "",
115- "interfaceCompartmentId": "nc-abcdef-123456"
116- }
117- ]
118- }` )
106+ "interface": [
107+ {
108+ "interfaceCompartmentVersion": "1",
109+ "interfaceCompartmentID": "nc-12345-67890"
110+ },
111+ {
112+ "interfaceCompartmentVersion": "1",
113+ "interfaceCompartmentID": ""
114+ }
115+ ]
116+ }` )
119117
120118mockIMDSServer := httptest .NewServer (http .HandlerFunc (func (w http.ResponseWriter , r * http.Request ) {
121119// request header "Metadata: true" must be present
@@ -133,80 +131,87 @@ func TestGetNCVersionsFromIMDS(t *testing.T) {
133131
134132w .WriteHeader (http .StatusOK )
135133_ , writeErr := w .Write (networkMetadata )
136- require .NoError (t , writeErr , "error writing response" )
134+ if writeErr != nil {
135+ t .Errorf ("error writing response: %v" , writeErr )
136+ return
137+ }
137138}))
138139defer mockIMDSServer .Close ()
139140
140141imdsClient := imds .NewClient (imds .Endpoint (mockIMDSServer .URL ))
141- ncVersions , err := imdsClient .GetNCVersionsFromIMDS (context .Background ())
142+ interfaces , err := imdsClient .GetNCVersions (context .Background ())
142143require .NoError (t , err , "error querying testserver" )
143144
144- expectedNCVersions := map [string ]string {
145- "nc-12345-67890" : "1" ,
146- "nc-abcdef-123456" : "" , // empty version
147- }
148- require .Equal (t , expectedNCVersions , ncVersions )
145+ // Verify we got the expected interfaces
146+ require .Len (t , interfaces , 2 , "expected 2 interfaces" )
147+
148+ // Check first interface
149+ assert .Equal (t , "nc-12345-67890" , interfaces [0 ].InterfaceCompartmentID )
150+ assert .Equal (t , "1" , interfaces [0 ].InterfaceCompartmentVersion )
151+
152+ // Check second interface
153+ assert .Equal (t , "" , interfaces [1 ].InterfaceCompartmentID )
154+ assert .Equal (t , "1" , interfaces [1 ].InterfaceCompartmentVersion )
149155}
150156
151- func TestGetNCVersionsFromIMDSInvalidEndpoint (t * testing.T ) {
157+ func TestGetNCVersionsInvalidEndpoint (t * testing.T ) {
152158imdsClient := imds .NewClient (imds .Endpoint (string ([]byte {0x7f })), imds .RetryAttempts (1 ))
153- _ , err := imdsClient .GetNCVersionsFromIMDS (context .Background ())
159+ _ , err := imdsClient .GetNCVersions (context .Background ())
154160require .Error (t , err , "expected invalid path" )
155161}
156162
157- func TestGetNCVersionsFromIMDSInvalidJSON (t * testing.T ) {
158- mockIMDSServer := httptest .NewServer (http .HandlerFunc (func (w http.ResponseWriter , r * http.Request ) {
163+ func TestGetNCVersionsInvalidJSON (t * testing.T ) {
164+ mockIMDSServer := httptest .NewServer (http .HandlerFunc (func (w http.ResponseWriter , _ * http.Request ) {
159165w .WriteHeader (http .StatusOK )
160166_ , err := w .Write ([]byte ("not json" ))
161- require .NoError (t , err )
167+ if err != nil {
168+ t .Errorf ("error writing response: %v" , err )
169+ return
170+ }
162171}))
163172defer mockIMDSServer .Close ()
164173
165174imdsClient := imds .NewClient (imds .Endpoint (mockIMDSServer .URL ), imds .RetryAttempts (1 ))
166- _ , err := imdsClient .GetNCVersionsFromIMDS (context .Background ())
175+ _ , err := imdsClient .GetNCVersions (context .Background ())
167176require .Error (t , err , "expected json decoding error" )
168177}
169178
170- func TestGetNCVersionsFromIMDSNoNCIDs (t * testing.T ) {
179+ func TestGetNCVersionsNoNCIDs (t * testing.T ) {
171180networkMetadataNoNC := []byte (`{
172- "interface": [
173- {
174- "macAddress": "00:0D:3A:12:34:56",
175- "ipv4": {
176- "ipAddress": [
177- {
178- "privateIpAddress": "10.0.0.4",
179- "publicIpAddress": ""
180- }
181- ]
182- }
183- },
184- {
185- "macAddress": "00:0D:3A:78:90:AB",
186- "ipv4": {
187- "ipAddress": [
188- {
189- "privateIpAddress": "10.0.1.4",
190- "publicIpAddress": ""
191- }
192- ]
193- }
194- }
195- ]
196- }` )
181+ "interface": [
182+ {
183+ "ipv4": {
184+ "ipAddress": [
185+ {
186+ "privateIpAddress": "10.0.0.4",
187+ "publicIpAddress": ""
188+ }
189+ ]
190+ }
191+ }
192+ ]
193+ }` )
197194
198195mockIMDSServer := httptest .NewServer (http .HandlerFunc (func (w http.ResponseWriter , r * http.Request ) {
199196metadataHeader := r .Header .Get ("Metadata" )
200197assert .Equal (t , "true" , metadataHeader )
201198
202199w .WriteHeader (http .StatusOK )
203200_ , writeErr := w .Write (networkMetadataNoNC )
204- require .NoError (t , writeErr , "error writing response" )
201+ if writeErr != nil {
202+ t .Errorf ("error writing response: %v" , writeErr )
203+ return
204+ }
205205}))
206206defer mockIMDSServer .Close ()
207207
208208imdsClient := imds .NewClient (imds .Endpoint (mockIMDSServer .URL ))
209- ncVersions , err := imdsClient .GetNCVersionsFromIMDS (context .Background ())
209+ interfaces , err := imdsClient .GetNCVersions (context .Background ())
210210require .NoError (t , err , "error querying testserver" )
211- require .Empty (t , ncVersions , "expected empty NC versions map when no NC IDs present" )
211+
212+ // Verify we got interfaces but they don't have compartment IDs
213+ require .Len (t , interfaces , 1 , "expected 1 interface" )
214+
215+ // Check that interfaces don't have compartment IDs
216+ assert .Equal (t , "" , interfaces [0 ].InterfaceCompartmentID )
212217}
0 commit comments