Skip to content

Commit 7179c17

Browse files
Jake ChampionJakeChampion
authored andcommitted
chore: make geo tests only confirm the returns keys are what we expect. the values are subject to change, which makes using the values in a test very brittle
1 parent d971e1a commit 7179c17

File tree

1 file changed

+26
-58
lines changed
  • integration-tests/js-compute/fixtures/geoip/bin

1 file changed

+26
-58
lines changed

integration-tests/js-compute/fixtures/geoip/bin/index.js

Lines changed: 26 additions & 58 deletions
Original file line numberDiff line numberDiff line change
@@ -28,14 +28,13 @@ async function app(event) {
2828

2929
const routes = new Map();
3030
routes.set('/', () => {
31-
routes.delete('/');
3231
let test_routes = Array.from(routes.keys())
3332
return new Response(JSON.stringify(test_routes), { 'headers': { 'content-type': 'application/json' } });
3433
});
3534

3635
routes.set("/fastly/getgeolocationforipaddress/interface", async function () {
3736
let actual = Reflect.getOwnPropertyDescriptor(fastly, 'getGeolocationForIpAddress')
38-
expected = {
37+
let expected = {
3938
writable: true,
4039
enumerable: true,
4140
configurable: true,
@@ -118,93 +117,62 @@ routes.set("/fastly/getgeolocationforipaddress/parameter-empty-string", async ()
118117
return pass()
119118
});
120119

121-
let ipv4Expected = {
122-
as_name: "sky uk limited",
123-
as_number: 5607,
124-
area_code: 0,
125-
city: "bircotes",
126-
conn_speed: "broadband",
127-
conn_type: "wifi",
128-
continent: "EU",
129-
country_code: "GB",
130-
country_code3: "GBR",
131-
country_name: "united kingdom",
132-
latitude: 53.42,
133-
longitude: -1.05,
134-
metro_code: 826039,
135-
postal_code: "dn11 8af",
136-
proxy_description: "?",
137-
proxy_type: "?",
138-
region: "NTT",
139-
}
120+
let geoFields = ["as_name",
121+
"as_number",
122+
"area_code",
123+
"city",
124+
"conn_speed",
125+
"conn_type",
126+
"continent",
127+
"country_code",
128+
"country_code3",
129+
"country_name",
130+
"gmt_offset",
131+
"latitude",
132+
"longitude",
133+
"metro_code",
134+
"postal_code",
135+
"proxy_description",
136+
"proxy_type",
137+
"region",
138+
"utc_offset"]
140139

141140
routes.set("/fastly/getgeolocationforipaddress/parameter-ipv4-string", async () => {
142141
let geo = fastly.getGeolocationForIpAddress('2.216.196.179')
143-
delete geo.utc_offset;
144-
delete geo.gmt_offset;
145-
let error = assert(geo, ipv4Expected, `fastly.getGeolocationForIpAddress('2.216.196.179') == ipv4Expected`)
142+
let error = assert(Object.keys(geo), geoFields, `Object.keys(fastly.getGeolocationForIpAddress('2.216.196.179')) == geoFields`)
146143
if (error) { return error }
147144
return pass()
148145
});
149146

150-
let expected = {
151-
as_name: "softlayer technologies inc.",
152-
as_number: 36351,
153-
area_code: 214,
154-
city: "dallas",
155-
conn_speed: "broadband",
156-
conn_type: "wired",
157-
continent: "NA",
158-
country_code: "US",
159-
country_code3: "USA",
160-
country_name: "united states",
161-
latitude: 32.94,
162-
longitude: -96.84,
163-
metro_code: 623,
164-
postal_code: "75244",
165-
proxy_description: "?",
166-
proxy_type: "hosting",
167-
region: "TX",
168-
}
169147
routes.set("/fastly/getgeolocationforipaddress/parameter-compressed-ipv6-string", async () => {
170148
let geo = fastly.getGeolocationForIpAddress('2607:f0d0:1002:51::4')
171-
delete geo.utc_offset;
172-
delete geo.gmt_offset;
173-
let error = assert(geo, expected, `fastly.getGeolocationForIpAddress('2607:f0d0:1002:51::4') == expected`)
149+
let error = assert(Object.keys(geo), geoFields, `Object.keys(fastly.getGeolocationForIpAddress('2607:f0d0:1002:51::4')) == geoFields`)
174150
if (error) { return error }
175151
return pass()
176152
});
177153
routes.set("/fastly/getgeolocationforipaddress/parameter-shortened-ipv6-string", async () => {
178154
let geo = fastly.getGeolocationForIpAddress('2607:f0d0:1002:0051:0:0:0:0004')
179-
delete geo.utc_offset;
180-
delete geo.gmt_offset;
181-
let error = assert(geo, expected, `fastly.getGeolocationForIpAddress('2607:f0d0:1002:0051:0:0:0:0004') == expected`)
155+
let error = assert(Object.keys(geo), geoFields, `Object.keys(fastly.getGeolocationForIpAddress('2607:f0d0:1002:0051:0:0:0:0004')) == geoFields`)
182156
if (error) { return error }
183157
return pass()
184158
});
185159
routes.set("/fastly/getgeolocationforipaddress/parameter-expanded-ipv6-string", async () => {
186160
let geo = fastly.getGeolocationForIpAddress('2607:f0d0:1002:0051:0000:0000:0000:0004')
187-
delete geo.utc_offset;
188-
delete geo.gmt_offset;
189-
let error = assert(geo, expected, `fastly.getGeolocationForIpAddress('2607:f0d0:1002:0051:0000:0000:0000:0004') == expected`)
161+
let error = assert(Object.keys(geo), geoFields, `Object.keys(fastly.getGeolocationForIpAddress('2607:f0d0:1002:0051:0000:0000:0000:0004')) == geoFields`)
190162
if (error) { return error }
191163
return pass()
192164
});
193165
// TODO: Uncomment these tests once IPv4-in-6 is working in ipll
194166
// routes.set("/fastly/getgeolocationforipaddress/parameter-dual-ipv4-ipv6-string", async () => {
195167
// let geo = fastly.getGeolocationForIpAddress('::FFFF:2.216.196.179')
196-
// delete geo.utc_offset;
197-
// delete geo.gmt_offset;
198-
// let error = assert(geo, expected, `fastly.getGeolocationForIpAddress('::2.216.196.179') == expected`)
168+
// let error = assert(Object.keys(geo), geoFields, `Object.keys(fastly.getGeolocationForIpAddress('::FFFF:2.216.196.179')) == geoFields`)
199169
// if (error) { return error }
200170
// return pass()
201171
// });
202172

203173
routes.set("/fastly/getgeolocationforipaddress/called-unbound", async () => {
204174
let geo = fastly.getGeolocationForIpAddress.call(undefined, '2607:f0d0:1002:0051:0000:0000:0000:0004')
205-
delete geo.utc_offset;
206-
delete geo.gmt_offset;
207-
let error = assert(geo, expected, `fastly.getGeolocationForIpAddress.call(undefined, '2607:f0d0:1002:0051:0000:0000:0000:0004') == expected`)
175+
let error = assert(Object.keys(geo), geoFields, `Object.keys(fastly.getGeolocationForIpAddress('2607:f0d0:1002:0051:0000:0000:0000:0004')) == geoFields`)
208176
if (error) { return error }
209177
return pass()
210178
});

0 commit comments

Comments
 (0)