-
- Downloads
Alternative GEOJSON.io fix (#30675)
* Alternative GEOJSON.io fix rather than not testing, just accept that we might get an expected location back or we might get nil. This actually represents how the application will behave and will seamlessly work as the service improves or continues throwing errors: ```shell ❯ curl "https://get.geojs.io/v1/ip/geo.json?ip=8.8.8.8,136.49.173.73,185.233.100.23" <html> <head><title>500 Internal Server Error</title></head> <body> <center><h1>500 Internal Server Error</h1></center> <hr><center>openresty</center> </body> </html> ❯ curl "https://get.geojs.io/v1/ip/geo.json?ip=8.8.8.8,136.49.173.73" [{"area_code":"0","organization_name":"GOOGLE","country_code":"US", "country_code3":"USA","continent_code":"NA","ip":"8.8.8.8", "region":"California","latitude":"34.0544","longitude":"-118.2441", "accuracy":5,"timezone":"America\/Los_Angeles","city":"Los Angeles", "organization":"AS15169 GOOGLE","asn":15169,"country":"United States"}, {"area_code":"0","organization_name":"GOOGLE-FIBER","country_code":"US", "country_code3":"USA","continent_code":"NA","ip":"136.49.173.73", "region":"Texas","latitude":"30.2423","longitude":"-97.7672", "accuracy":5,"timezone":"America\/Chicago","city":"Austin", "organization":"AS16591 GOOGLE-FIBER","asn":16591,"country":"United States"}] ``` Changes are basically ```clojure (schema= (s/conditional some? <original-expectation-schema> nil? (s/eq nil) response-from-geojson) ``` * Filter to login error messages ```clojure (into [] (map (fn [[log-level error message]] [log-level (type error) message])) error-messages-captured-in-test) [[:error clojure.lang.ExceptionInfo "Error geocoding IP addresses {:url https://get.geojs.io/v1/ip/geo.json?ip=127.0.0.1}"] [:error clojure.lang.ExceptionInfo "Authentication endpoint error"]] ``` * check timestamps with regex seems like they fixed the service ```shell curl "https://get.geojs.io/v1/ip/geo.json?ip=8.8.8.8,136.49.173.73,185.233.100.23" [{"country":"United States","latitude":"34.0544","longitude":"-118.2441","accuracy":5,"timezone":"America\/Los_Angeles","ip":"8.8.8.8","organization":"AS15169 GOOGLE","country_code3":"USA","asn":15169,"area_code":"0","organization_name":"GOOGLE","country_code":"US","city":"Los Angeles","continent_code":"NA","region":"California"},{"country":"United States","latitude":"30.2423","longitude":"-97.7672","accuracy":5,"timezone":"America\/Chicago","ip":"136.49.173.73","organization":"AS16591 GOOGLE-FIBER","country_code3":"USA","asn":16591,"area_code":"0","organization_name":"GOOGLE-FIBER","country_code":"US","city":"Austin","continent_code":"NA","region":"Texas"},{"country":"France","latitude":"48.8582","longitude":"2.3387","accuracy":500,"timezone":"Europe\/Paris","ip":"185.233.100.23","organization":"AS198985 AQUILENET","country_code3":"FRA","asn":198985,"area_code":"0","organization_name":"AQUILENET","country_code":"FR","continent_code":"EU"}] ``` whereas a few hours ago that returned a 500. And now the timestamps are different ``` ;; from schema "2021-03-18T19:52:41.808482Z" ;; results "2021-03-18T20:52:41.808482+01:00" ``` kinda sick of dealing with this and don't want to deal with a schema that matches "near" to a timestamp. * Restore these i copied changes over from tim's fix and it included these fixes. But now the service is fixed and these are the original values from cam's original fixes
Showing
- test/metabase/api/login_history_test.clj 28 additions, 12 deletionstest/metabase/api/login_history_test.clj
- test/metabase/api/session_test.clj 5 additions, 2 deletionstest/metabase/api/session_test.clj
- test/metabase/server/request/util_test.clj 2 additions, 1 deletiontest/metabase/server/request/util_test.clj
Please register or sign in to comment