diff --git a/test/cassettes/client_test.json b/test/cassettes/client_test.json
deleted file mode 100644
index 0e6e44d..0000000
--- a/test/cassettes/client_test.json
+++ /dev/null
@@ -1 +0,0 @@
-[{"duration":0.0,"recorded_at":"2022-10-27T18:57:55.215993","request":{"body":null,"headers":{"alt-svc":"h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000,h3-Q050=\":443\"; ma=2592000,h3-Q046=\":443\"; ma=2592000,h3-Q043=\":443\"; ma=2592000,quic=\":443\"; ma=2592000; v=\"46,43\"","set-cookie":"1P_JAR=2022-10-28-00; expires=Sun, 27-Nov-2022 00:57:55 GMT; path=/; domain=.google.com; Secure,AEC=AakniGMkwWxN1R6_p9-MhifiEuJstg2FriKodtjfCxmH1IA3bGK1cflXILY; expires=Wed, 26-Apr-2023 00:57:55 GMT; path=/; domain=.google.com; Secure; HttpOnly; SameSite=lax,NID=511=R8qb2YSL9vRpWqVhbz_J5n8xjXvtrIiw3VesuG4IzrPs190NcWNcogCuVPFebHIa20XyiEzvHwvSy24MpsvUYKJxFq8ND_qrxL0vxgbjbUN4pRmijo6ubLRhy0d7QhtHCw49R1QpjfU2S0wscUceNjMocdMezKpqsAf8VToJj10; expires=Sat, 29-Apr-2023 00:57:55 GMT; path=/; domain=.google.com; HttpOnly","cache-control":"private, max-age=0","transfer-encoding":"chunked","date":"Fri, 28 Oct 2022 00:57:55 GMT","content-encoding":"gzip","p3p":"CP=\"This is not a P3P policy! See g.co/p3phelp for more info.\"","x-frame-options":"SAMEORIGIN","content-type":"text/html; charset=ISO-8859-1","x-xss-protection":"0","server":"gws","expires":"-1"},"method":"GET","uri":"https://www.google.com"},"response":{"body":"
Google
","headers":{"alt-svc":"h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000,h3-Q050=\":443\"; ma=2592000,h3-Q046=\":443\"; ma=2592000,h3-Q043=\":443\"; ma=2592000,quic=\":443\"; ma=2592000; v=\"46,43\"","set-cookie":"1P_JAR=2022-10-28-00; expires=Sun, 27-Nov-2022 00:57:55 GMT; path=/; domain=.google.com; Secure,AEC=AakniGMkwWxN1R6_p9-MhifiEuJstg2FriKodtjfCxmH1IA3bGK1cflXILY; expires=Wed, 26-Apr-2023 00:57:55 GMT; path=/; domain=.google.com; Secure; HttpOnly; SameSite=lax,NID=511=R8qb2YSL9vRpWqVhbz_J5n8xjXvtrIiw3VesuG4IzrPs190NcWNcogCuVPFebHIa20XyiEzvHwvSy24MpsvUYKJxFq8ND_qrxL0vxgbjbUN4pRmijo6ubLRhy0d7QhtHCw49R1QpjfU2S0wscUceNjMocdMezKpqsAf8VToJj10; expires=Sat, 29-Apr-2023 00:57:55 GMT; path=/; domain=.google.com; HttpOnly","cache-control":"private, max-age=0","transfer-encoding":"chunked","date":"Fri, 28 Oct 2022 00:57:55 GMT","content-encoding":"gzip","p3p":"CP=\"This is not a P3P policy! See g.co/p3phelp for more info.\"","x-frame-options":"SAMEORIGIN","content-type":"text/html; charset=ISO-8859-1","x-xss-protection":"0","server":"gws","expires":"-1"},"status":{"code":200,"message":"OK"}}}]
\ No newline at end of file
diff --git a/test/cassettes/test.json b/test/cassettes/test.json
deleted file mode 100644
index 324564a..0000000
--- a/test/cassettes/test.json
+++ /dev/null
@@ -1,46 +0,0 @@
-[
- {
- "duration": 0.0,
- "recorded_at": "2022-10-27T18:42:26.529965",
- "request": {
- "body": null,
- "headers": {
- "alt-svc": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000,h3-Q050=\":443\"; ma=2592000,h3-Q046=\":443\"; ma=2592000,h3-Q043=\":443\"; ma=2592000,quic=\":443\"; ma=2592000; v=\"46,43\"",
- "set-cookie": "1P_JAR=2022-10-28-00; expires=Sun, 27-Nov-2022 00:42:26 GMT; path=/; domain=.google.com; Secure,AEC=AakniGOwVATcchob9Hn-Qbubv_wOL-yu_f1RIKTt1ZSURggKDE7Ah1JUiaM; expires=Wed, 26-Apr-2023 00:42:26 GMT; path=/; domain=.google.com; Secure; HttpOnly; SameSite=lax,NID=511=SlZKGc9eCaBIShEOS5vma_LTFad6sOfzNT1TA2TOWXoRAoh6_055k_mKa1OKxxMkgKMsfSTX3ak59C9z5bOVT1gzNHhlDM37lIF_J6vZ6lwwOGnWepL3zJyShOS5DaAT1lMdIuzA2txrHBF2nvfOUoXU4LEyRUlv21gkH5HDv3s; expires=Sat, 29-Apr-2023 00:42:26 GMT; path=/; domain=.google.com; HttpOnly",
- "cache-control": "private, max-age=0",
- "transfer-encoding": "chunked",
- "date": "Fri, 28 Oct 2022 00:42:26 GMT",
- "content-encoding": "gzip",
- "p3p": "CP=\"This is not a P3P policy! See g.co/p3phelp for more info.\"",
- "x-frame-options": "SAMEORIGIN",
- "content-type": "text/html; charset=ISO-8859-1",
- "x-xss-protection": "0",
- "server": "gws",
- "expires": "-1"
- },
- "method": "GET",
- "uri": "https://www.google.com"
- },
- "response": {
- "body": "Google
",
- "headers": {
- "alt-svc": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000,h3-Q050=\":443\"; ma=2592000,h3-Q046=\":443\"; ma=2592000,h3-Q043=\":443\"; ma=2592000,quic=\":443\"; ma=2592000; v=\"46,43\"",
- "set-cookie": "1P_JAR=2022-10-28-00; expires=Sun, 27-Nov-2022 00:42:26 GMT; path=/; domain=.google.com; Secure,AEC=AakniGOwVATcchob9Hn-Qbubv_wOL-yu_f1RIKTt1ZSURggKDE7Ah1JUiaM; expires=Wed, 26-Apr-2023 00:42:26 GMT; path=/; domain=.google.com; Secure; HttpOnly; SameSite=lax,NID=511=SlZKGc9eCaBIShEOS5vma_LTFad6sOfzNT1TA2TOWXoRAoh6_055k_mKa1OKxxMkgKMsfSTX3ak59C9z5bOVT1gzNHhlDM37lIF_J6vZ6lwwOGnWepL3zJyShOS5DaAT1lMdIuzA2txrHBF2nvfOUoXU4LEyRUlv21gkH5HDv3s; expires=Sat, 29-Apr-2023 00:42:26 GMT; path=/; domain=.google.com; HttpOnly",
- "cache-control": "private, max-age=0",
- "transfer-encoding": "chunked",
- "date": "Fri, 28 Oct 2022 00:42:26 GMT",
- "content-encoding": "gzip",
- "p3p": "CP=\"This is not a P3P policy! See g.co/p3phelp for more info.\"",
- "x-frame-options": "SAMEORIGIN",
- "content-type": "text/html; charset=ISO-8859-1",
- "x-xss-protection": "0",
- "server": "gws",
- "expires": "-1"
- },
- "status": {
- "code": 200,
- "message": "OK"
- }
- }
- }
-]
diff --git a/test/cassettes/vcr_test.json b/test/cassettes/vcr_test.json
deleted file mode 100644
index ecc257c..0000000
--- a/test/cassettes/vcr_test.json
+++ /dev/null
@@ -1 +0,0 @@
-[{"duration":0.0,"recorded_at":"2022-10-27T18:58:19.027042","request":{"body":null,"headers":{"alt-svc":"h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000,h3-Q050=\":443\"; ma=2592000,h3-Q046=\":443\"; ma=2592000,h3-Q043=\":443\"; ma=2592000,quic=\":443\"; ma=2592000; v=\"46,43\"","set-cookie":"1P_JAR=2022-10-28-00; expires=Sun, 27-Nov-2022 00:58:19 GMT; path=/; domain=.google.com; Secure,AEC=AakniGMovzCe6rlS73qEoqJP9rhmNFhGvYorII9mZ8VyFg5zZn97GSuOeg; expires=Wed, 26-Apr-2023 00:58:19 GMT; path=/; domain=.google.com; Secure; HttpOnly; SameSite=lax,NID=511=Rj3qVh2gd_9P3p5TsjlZcbA2yuiMNiyXL_WB1c69a-4xzNN8pEfaAr1V8-uR57I17HHe4avyXY6LfQlFfgMj9x6A_TwISpVB-_fJbSRFzS9qu8Jnt9Au_TTiumiqsN4cH-1JNVMlTMZXaDw9fV-Jp1-5DLPs0gpx5-oEYLblOIA; expires=Sat, 29-Apr-2023 00:58:19 GMT; path=/; domain=.google.com; HttpOnly","cache-control":"private, max-age=0","transfer-encoding":"chunked","date":"Fri, 28 Oct 2022 00:58:19 GMT","content-encoding":"gzip","p3p":"CP=\"This is not a P3P policy! See g.co/p3phelp for more info.\"","x-frame-options":"SAMEORIGIN","content-type":"text/html; charset=ISO-8859-1","x-xss-protection":"0","server":"gws","expires":"-1"},"method":"GET","uri":"https://www.google.com"},"response":{"body":"Google
","headers":{"alt-svc":"h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000,h3-Q050=\":443\"; ma=2592000,h3-Q046=\":443\"; ma=2592000,h3-Q043=\":443\"; ma=2592000,quic=\":443\"; ma=2592000; v=\"46,43\"","set-cookie":"1P_JAR=2022-10-28-00; expires=Sun, 27-Nov-2022 00:58:19 GMT; path=/; domain=.google.com; Secure,AEC=AakniGMovzCe6rlS73qEoqJP9rhmNFhGvYorII9mZ8VyFg5zZn97GSuOeg; expires=Wed, 26-Apr-2023 00:58:19 GMT; path=/; domain=.google.com; Secure; HttpOnly; SameSite=lax,NID=511=Rj3qVh2gd_9P3p5TsjlZcbA2yuiMNiyXL_WB1c69a-4xzNN8pEfaAr1V8-uR57I17HHe4avyXY6LfQlFfgMj9x6A_TwISpVB-_fJbSRFzS9qu8Jnt9Au_TTiumiqsN4cH-1JNVMlTMZXaDw9fV-Jp1-5DLPs0gpx5-oEYLblOIA; expires=Sat, 29-Apr-2023 00:58:19 GMT; path=/; domain=.google.com; HttpOnly","cache-control":"private, max-age=0","transfer-encoding":"chunked","date":"Fri, 28 Oct 2022 00:58:19 GMT","content-encoding":"gzip","p3p":"CP=\"This is not a P3P policy! See g.co/p3phelp for more info.\"","x-frame-options":"SAMEORIGIN","content-type":"text/html; charset=ISO-8859-1","x-xss-protection":"0","server":"gws","expires":"-1"},"status":{"code":200,"message":"OK"}}}]
\ No newline at end of file
diff --git a/test/ip_address_data.g.dart b/test/ip_address_data.g.dart
new file mode 100644
index 0000000..729af83
--- /dev/null
+++ b/test/ip_address_data.g.dart
@@ -0,0 +1,17 @@
+// GENERATED CODE - DO NOT MODIFY BY HAND
+
+part of 'ip_address_data.dart';
+
+// **************************************************************************
+// JsonSerializableGenerator
+// **************************************************************************
+
+IPAddressData _$IPAddressDataFromJson(Map json) =>
+ IPAddressData(
+ json['ip'] as String?,
+ );
+
+Map _$IPAddressDataToJson(IPAddressData instance) =>
+ {
+ 'ip': instance.ipAddress,
+ };