diff --git a/tests/Fixtures/Saloon/delete/linode/instances/31294599.json b/tests/Fixtures/Saloon/delete/linode/instances/31294599.json new file mode 100644 index 0000000..8391eb4 --- /dev/null +++ b/tests/Fixtures/Saloon/delete/linode/instances/31294599.json @@ -0,0 +1 @@ +{"statusCode":401,"headers":{"Server":"nginx","Date":"Tue, 04 Jul 2023 08:37:09 GMT","Content-Type":"application\/json","Content-Length":"41","Connection":"keep-alive","X-OAuth-Scopes":"unknown","X-Accepted-OAuth-Scopes":"linodes:read_write","X-Frame-Options":"DENY","Access-Control-Allow-Origin":"*","Access-Control-Allow-Methods":"HEAD, GET, OPTIONS, POST, PUT, DELETE","Access-Control-Allow-Headers":"Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter","X-Spec-Version":"4.157.1","X-RateLimit-Limit":"800","X-RateLimit-Remaining":"797","X-RateLimit-Reset":"1688459878","Retry-After":"48"},"data":"{\"errors\": [{\"reason\": \"Invalid Token\"}]}"} \ No newline at end of file diff --git a/tests/Fixtures/Saloon/delete/networking/firewalls/29675.json b/tests/Fixtures/Saloon/delete/networking/firewalls/29675.json new file mode 100644 index 0000000..4f7f01d --- /dev/null +++ b/tests/Fixtures/Saloon/delete/networking/firewalls/29675.json @@ -0,0 +1 @@ +{"statusCode":401,"headers":{"Server":"nginx","Date":"Tue, 04 Jul 2023 08:37:15 GMT","Content-Type":"application\/json","Content-Length":"41","Connection":"keep-alive","X-OAuth-Scopes":"unknown","X-Accepted-OAuth-Scopes":"firewall:read_write","X-Frame-Options":"DENY","Access-Control-Allow-Origin":"*","Access-Control-Allow-Methods":"HEAD, GET, OPTIONS, POST, PUT, DELETE","Access-Control-Allow-Headers":"Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter","X-Spec-Version":"4.157.1","X-RateLimit-Limit":"800","X-RateLimit-Remaining":"797","X-RateLimit-Reset":"1688459879","Retry-After":"43"},"data":"{\"errors\": [{\"reason\": \"Invalid Token\"}]}"} \ No newline at end of file diff --git a/tests/Fixtures/Saloon/get/images.json b/tests/Fixtures/Saloon/get/images.json new file mode 100644 index 0000000..1fa3431 --- /dev/null +++ b/tests/Fixtures/Saloon/get/images.json @@ -0,0 +1 @@ +{"statusCode":200,"headers":{"Server":"nginx","Date":"Tue, 04 Jul 2023 08:37:13 GMT","Content-Type":"application\/json","Content-Length":"12877","Connection":"keep-alive","Cache-Control":["private, max-age=0, s-maxage=0, no-cache, no-store","private, max-age=60, s-maxage=60"],"X-OAuth-Scopes":"unknown","X-Accepted-OAuth-Scopes":"*","X-Frame-Options":["DENY","DENY"],"Access-Control-Allow-Origin":"*","Access-Control-Allow-Methods":"HEAD, GET, OPTIONS, POST, PUT, DELETE","Access-Control-Allow-Headers":"Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter","X-Spec-Version":"4.157.1","Vary":["Authorization, X-Filter","Authorization, X-Filter"],"X-RateLimit-Limit":"800","X-RateLimit-Remaining":"797","X-RateLimit-Reset":"1688459879","Retry-After":"45","Access-Control-Allow-Credentials":"true","Access-Control-Expose-Headers":"X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status","Content-Security-Policy":"default-src 'none'","X-Content-Type-Options":"nosniff","X-XSS-Protection":"1; mode=block","Strict-Transport-Security":"max-age=31536000"},"data":"{\"data\": [{\"id\": \"linode\/almalinux8\", \"label\": \"AlmaLinux 8\", \"deprecated\": false, \"size\": 1700, \"created\": \"2021-05-18T14:28:38\", \"updated\": \"2023-05-30T21:20:33\", \"description\": \"\", \"created_by\": \"linode\", \"type\": \"manual\", \"is_public\": true, \"vendor\": \"AlmaLinux\", \"expiry\": null, \"eol\": \"2029-01-01T05:00:00\", \"status\": \"available\", \"capabilities\": []}, {\"id\": \"linode\/almalinux9\", \"label\": \"AlmaLinux 9\", \"deprecated\": false, \"size\": 1700, \"created\": \"2022-05-26T22:07:54\", \"updated\": \"2023-05-30T21:20:47\", \"description\": \"\", \"created_by\": \"linode\", \"type\": \"manual\", \"is_public\": true, \"vendor\": \"AlmaLinux\", \"expiry\": null, \"eol\": \"2032-05-31T04:00:00\", \"status\": \"available\", \"capabilities\": []}, {\"id\": \"linode\/alpine3.14\", \"label\": \"Alpine 3.14\", \"deprecated\": false, \"size\": 400, \"created\": \"2021-06-16T18:39:59\", \"updated\": \"2023-06-20T16:32:10\", \"description\": \"\", \"created_by\": \"linode\", \"type\": \"manual\", \"is_public\": true, \"vendor\": \"Alpine\", \"expiry\": null, \"eol\": \"2023-05-01T04:00:00\", \"status\": \"available\", \"capabilities\": []}, {\"id\": \"linode\/alpine3.15\", \"label\": \"Alpine 3.15\", \"deprecated\": false, \"size\": 400, \"created\": \"2021-11-24T16:58:12\", \"updated\": \"2023-06-20T16:32:27\", \"description\": \"\", \"created_by\": \"linode\", \"type\": \"manual\", \"is_public\": true, \"vendor\": \"Alpine\", \"expiry\": null, \"eol\": \"2023-11-01T04:00:00\", \"status\": \"available\", \"capabilities\": []}, {\"id\": \"linode\/alpine3.16\", \"label\": \"Alpine 3.16\", \"deprecated\": false, \"size\": 400, \"created\": \"2022-05-24T15:21:13\", \"updated\": \"2023-06-20T16:32:45\", \"description\": \"\", \"created_by\": \"linode\", \"type\": \"manual\", \"is_public\": true, \"vendor\": \"Alpine\", \"expiry\": null, \"eol\": \"2024-05-23T04:00:00\", \"status\": \"available\", \"capabilities\": []}, {\"id\": \"linode\/alpine3.17\", \"label\": \"Alpine 3.17\", \"deprecated\": false, \"size\": 400, \"created\": \"2022-11-22T19:20:51\", \"updated\": \"2023-06-20T16:33:03\", \"description\": \"\", \"created_by\": \"linode\", \"type\": \"manual\", \"is_public\": true, \"vendor\": \"Alpine\", \"expiry\": null, \"eol\": \"2024-11-22T05:00:00\", \"status\": \"available\", \"capabilities\": []}, {\"id\": \"linode\/alpine3.18\", \"label\": \"Alpine 3.18\", \"deprecated\": false, \"size\": 400, \"created\": \"2023-05-31T16:44:36\", \"updated\": \"2023-06-20T16:33:22\", \"description\": \"\", \"created_by\": \"linode\", \"type\": \"manual\", \"is_public\": true, \"vendor\": \"Alpine\", \"expiry\": null, \"eol\": \"2025-05-09T04:00:00\", \"status\": \"available\", \"capabilities\": []}, {\"id\": \"linode\/arch\", \"label\": \"Arch Linux\", \"deprecated\": false, \"size\": 1500, \"created\": \"2016-06-13T20:31:34\", \"updated\": \"2023-06-01T20:28:02\", \"description\": \"\", \"created_by\": \"linode\", \"type\": \"manual\", \"is_public\": true, \"vendor\": \"Arch\", \"expiry\": null, \"eol\": null, \"status\": \"available\", \"capabilities\": []}, {\"id\": \"linode\/centos7\", \"label\": \"CentOS 7\", \"deprecated\": false, \"size\": 2800, \"created\": \"2014-07-08T14:07:21\", \"updated\": \"2023-06-01T22:26:01\", \"description\": \"\", \"created_by\": \"linode\", \"type\": \"manual\", \"is_public\": true, \"vendor\": \"CentOS\", \"expiry\": null, \"eol\": \"2024-06-30T04:00:00\", \"status\": \"available\", \"capabilities\": []}, {\"id\": \"linode\/centos-stream8\", \"label\": \"CentOS Stream 8\", \"deprecated\": false, \"size\": 2600, \"created\": \"2021-01-21T19:52:49\", \"updated\": \"2023-06-01T22:26:25\", \"description\": \"\", \"created_by\": \"linode\", \"type\": \"manual\", \"is_public\": true, \"vendor\": \"CentOS\", \"expiry\": null, \"eol\": \"2024-05-31T04:00:00\", \"status\": \"available\", \"capabilities\": []}, {\"id\": \"linode\/centos-stream9\", \"label\": \"CentOS Stream 9\", \"deprecated\": false, \"size\": 1200, \"created\": \"2022-01-05T23:34:00\", \"updated\": \"2023-06-01T22:26:43\", \"description\": \"\", \"created_by\": \"linode\", \"type\": \"manual\", \"is_public\": true, \"vendor\": \"CentOS\", \"expiry\": null, \"eol\": \"2029-06-01T04:00:00\", \"status\": \"available\", \"capabilities\": []}, {\"id\": \"linode\/debian10\", \"label\": \"Debian 10\", \"deprecated\": false, \"size\": 1500, \"created\": \"2019-07-07T12:24:54\", \"updated\": \"2023-05-24T03:11:59\", \"description\": \"\", \"created_by\": \"linode\", \"type\": \"manual\", \"is_public\": true, \"vendor\": \"Debian\", \"expiry\": null, \"eol\": \"2024-07-01T04:00:00\", \"status\": \"available\", \"capabilities\": []}, {\"id\": \"linode\/debian11\", \"label\": \"Debian 11\", \"deprecated\": false, \"size\": 1300, \"created\": \"2021-08-14T22:44:02\", \"updated\": \"2023-05-24T03:12:21\", \"description\": \"\", \"created_by\": \"linode\", \"type\": \"manual\", \"is_public\": true, \"vendor\": \"Debian\", \"expiry\": null, \"eol\": \"2026-07-01T04:00:00\", \"status\": \"available\", \"capabilities\": []}, {\"id\": \"linode\/debian12\", \"label\": \"Debian 12\", \"deprecated\": false, \"size\": 1500, \"created\": \"2023-06-10T15:56:16\", \"updated\": \"2023-06-10T16:09:11\", \"description\": \"\", \"created_by\": \"linode\", \"type\": \"manual\", \"is_public\": true, \"vendor\": \"Debian\", \"expiry\": null, \"eol\": \"2026-06-10T04:00:00\", \"status\": \"available\", \"capabilities\": []}, {\"id\": \"linode\/fedora36\", \"label\": \"Fedora 36\", \"deprecated\": false, \"size\": 1600, \"created\": \"2022-05-10T15:01:11\", \"updated\": \"2023-06-05T17:00:19\", \"description\": \"\", \"created_by\": \"linode\", \"type\": \"manual\", \"is_public\": true, \"vendor\": \"Fedora\", \"expiry\": null, \"eol\": \"2023-05-16T04:00:00\", \"status\": \"available\", \"capabilities\": []}, {\"id\": \"linode\/fedora37\", \"label\": \"Fedora 37\", \"deprecated\": false, \"size\": 1800, \"created\": \"2022-11-15T15:56:53\", \"updated\": \"2023-06-05T17:00:35\", \"description\": \"\", \"created_by\": \"linode\", \"type\": \"manual\", \"is_public\": true, \"vendor\": \"Fedora\", \"expiry\": null, \"eol\": \"2023-12-15T05:00:00\", \"status\": \"available\", \"capabilities\": []}, {\"id\": \"linode\/fedora38\", \"label\": \"Fedora 38\", \"deprecated\": false, \"size\": 1600, \"created\": \"2023-04-18T19:56:07\", \"updated\": \"2023-06-05T17:00:51\", \"description\": \"\", \"created_by\": \"linode\", \"type\": \"manual\", \"is_public\": true, \"vendor\": \"Fedora\", \"expiry\": null, \"eol\": \"2024-05-14T04:00:00\", \"status\": \"available\", \"capabilities\": []}, {\"id\": \"linode\/gentoo\", \"label\": \"Gentoo\", \"deprecated\": false, \"size\": 5500, \"created\": \"2016-10-25T17:31:25\", \"updated\": \"2023-05-31T19:49:21\", \"description\": \"\", \"created_by\": \"linode\", \"type\": \"manual\", \"is_public\": true, \"vendor\": \"Gentoo\", \"expiry\": null, \"eol\": null, \"status\": \"available\", \"capabilities\": []}, {\"id\": \"linode\/kali\", \"label\": \"Kali Linux\", \"deprecated\": false, \"size\": 1536, \"created\": \"2022-02-28T17:08:42\", \"updated\": \"2023-05-30T19:13:36\", \"description\": \"\", \"created_by\": \"linode\", \"type\": \"manual\", \"is_public\": true, \"vendor\": \"Kali\", \"expiry\": null, \"eol\": null, \"status\": \"available\", \"capabilities\": []}, {\"id\": \"linode\/debian11-kube-v1.24.8\", \"label\": \"Kubernetes 1.24.8 on Debian 11\", \"deprecated\": false, \"size\": 3500, \"created\": \"2022-11-17T14:17:22\", \"updated\": \"2022-11-17T14:17:36\", \"description\": \"\", \"created_by\": \"linode\", \"type\": \"manual\", \"is_public\": true, \"vendor\": \"Debian\", \"expiry\": null, \"eol\": \"2026-07-01T04:00:00\", \"status\": \"available\", \"capabilities\": []}, {\"id\": \"linode\/debian11-kube-v1.25.4\", \"label\": \"Kubernetes 1.25.4 on Debian 11\", \"deprecated\": false, \"size\": 3500, \"created\": \"2022-12-01T21:14:51\", \"updated\": \"2022-12-01T21:14:51\", \"description\": \"\", \"created_by\": \"linode\", \"type\": \"manual\", \"is_public\": true, \"vendor\": \"Debian\", \"expiry\": null, \"eol\": \"2026-07-01T04:00:00\", \"status\": \"available\", \"capabilities\": []}, {\"id\": \"linode\/debian11-kube-v1.26.1\", \"label\": \"Kubernetes 1.26.1 on Debian 11\", \"deprecated\": false, \"size\": 3500, \"created\": \"2023-03-02T22:29:06\", \"updated\": \"2023-03-02T22:29:06\", \"description\": \"\", \"created_by\": \"linode\", \"type\": \"manual\", \"is_public\": true, \"vendor\": \"Debian\", \"expiry\": null, \"eol\": \"2026-07-01T04:00:00\", \"status\": \"available\", \"capabilities\": []}, {\"id\": \"linode\/debian11-kube-v1.26.3\", \"label\": \"Kubernetes 1.26.3 on Debian 11\", \"deprecated\": false, \"size\": 3500, \"created\": \"2023-03-31T13:27:47\", \"updated\": \"2023-03-31T14:24:28\", \"description\": \"\", \"created_by\": \"linode\", \"type\": \"manual\", \"is_public\": true, \"vendor\": \"Debian\", \"expiry\": null, \"eol\": \"2026-07-01T04:00:00\", \"status\": \"available\", \"capabilities\": []}, {\"id\": \"linode\/opensuse15.4\", \"label\": \"openSUSE Leap 15.4\", \"deprecated\": false, \"size\": 1550, \"created\": \"2022-06-09T19:04:43\", \"updated\": \"2023-06-02T17:13:42\", \"description\": \"\", \"created_by\": \"linode\", \"type\": \"manual\", \"is_public\": true, \"vendor\": \"openSUSE\", \"expiry\": null, \"eol\": \"2023-12-07T05:00:00\", \"status\": \"available\", \"capabilities\": []}, {\"id\": \"linode\/opensuse15.5\", \"label\": \"openSUSE Leap 15.5\", \"deprecated\": false, \"size\": 1550, \"created\": \"2023-06-07T17:13:25\", \"updated\": \"2023-06-07T17:13:25\", \"description\": \"\", \"created_by\": \"linode\", \"type\": \"manual\", \"is_public\": true, \"vendor\": \"openSUSE\", \"expiry\": null, \"eol\": \"2024-12-07T05:00:00\", \"status\": \"available\", \"capabilities\": []}, {\"id\": \"linode\/rocky8\", \"label\": \"Rocky Linux 8\", \"deprecated\": false, \"size\": 2300, \"created\": \"2021-06-22T01:56:07\", \"updated\": \"2023-05-31T15:21:06\", \"description\": \"\", \"created_by\": \"linode\", \"type\": \"manual\", \"is_public\": true, \"vendor\": \"Rocky\", \"expiry\": null, \"eol\": \"2029-05-31T04:00:00\", \"status\": \"available\", \"capabilities\": []}, {\"id\": \"linode\/rocky9\", \"label\": \"Rocky Linux 9\", \"deprecated\": false, \"size\": 2300, \"created\": \"2022-07-15T15:00:09\", \"updated\": \"2023-05-31T15:21:24\", \"description\": \"\", \"created_by\": \"linode\", \"type\": \"manual\", \"is_public\": true, \"vendor\": \"Rocky\", \"expiry\": null, \"eol\": \"2032-05-31T04:00:00\", \"status\": \"available\", \"capabilities\": []}, {\"id\": \"linode\/slackware14.2\", \"label\": \"Slackware 14.2\", \"deprecated\": false, \"size\": 6000, \"created\": \"2016-10-13T13:14:34\", \"updated\": \"2023-06-05T21:07:54\", \"description\": \"\", \"created_by\": \"linode\", \"type\": \"manual\", \"is_public\": true, \"vendor\": \"Slackware\", \"expiry\": null, \"eol\": \"1970-01-01T05:00:00\", \"status\": \"available\", \"capabilities\": []}, {\"id\": \"linode\/slackware15.0\", \"label\": \"Slackware 15.0\", \"deprecated\": false, \"size\": 11000, \"created\": \"2022-02-04T23:25:47\", \"updated\": \"2023-06-05T21:08:10\", \"description\": \"\", \"created_by\": \"linode\", \"type\": \"manual\", \"is_public\": true, \"vendor\": \"Slackware\", \"expiry\": null, \"eol\": null, \"status\": \"available\", \"capabilities\": []}, {\"id\": \"linode\/ubuntu16.04lts\", \"label\": \"Ubuntu 16.04 LTS\", \"deprecated\": false, \"size\": 2700, \"created\": \"2016-04-22T18:11:29\", \"updated\": \"2023-06-02T22:24:54\", \"description\": \"\", \"created_by\": \"linode\", \"type\": \"manual\", \"is_public\": true, \"vendor\": \"Ubuntu\", \"expiry\": null, \"eol\": \"2023-04-26T04:00:00\", \"status\": \"available\", \"capabilities\": []}, {\"id\": \"linode\/ubuntu18.04\", \"label\": \"Ubuntu 18.04 LTS\", \"deprecated\": false, \"size\": 2700, \"created\": \"2018-04-26T22:23:37\", \"updated\": \"2023-06-02T22:25:10\", \"description\": \"\", \"created_by\": \"linode\", \"type\": \"manual\", \"is_public\": true, \"vendor\": \"Ubuntu\", \"expiry\": null, \"eol\": \"2023-04-26T04:00:00\", \"status\": \"available\", \"capabilities\": []}, {\"id\": \"linode\/ubuntu20.04\", \"label\": \"Ubuntu 20.04 LTS\", \"deprecated\": false, \"size\": 2000, \"created\": \"2020-04-23T17:59:32\", \"updated\": \"2023-06-02T22:25:26\", \"description\": \"\", \"created_by\": \"linode\", \"type\": \"manual\", \"is_public\": true, \"vendor\": \"Ubuntu\", \"expiry\": null, \"eol\": \"2025-04-23T04:00:00\", \"status\": \"available\", \"capabilities\": []}, {\"id\": \"linode\/ubuntu22.04\", \"label\": \"Ubuntu 22.04 LTS\", \"deprecated\": false, \"size\": 3500, \"created\": \"2022-04-21T16:57:06\", \"updated\": \"2023-06-02T22:26:20\", \"description\": \"\", \"created_by\": \"linode\", \"type\": \"manual\", \"is_public\": true, \"vendor\": \"Ubuntu\", \"expiry\": null, \"eol\": \"2027-04-21T04:00:00\", \"status\": \"available\", \"capabilities\": []}, {\"id\": \"linode\/ubuntu22.10\", \"label\": \"Ubuntu 22.10\", \"deprecated\": false, \"size\": 3500, \"created\": \"2022-10-20T14:05:30\", \"updated\": \"2023-06-02T22:26:00\", \"description\": \"\", \"created_by\": \"linode\", \"type\": \"manual\", \"is_public\": true, \"vendor\": \"Ubuntu\", \"expiry\": null, \"eol\": \"2023-07-20T04:00:00\", \"status\": \"available\", \"capabilities\": []}, {\"id\": \"linode\/ubuntu23.04\", \"label\": \"Ubuntu 23.04\", \"deprecated\": false, \"size\": 3500, \"created\": \"2023-04-19T16:22:22\", \"updated\": \"2023-06-02T22:26:38\", \"description\": \"\", \"created_by\": \"linode\", \"type\": \"manual\", \"is_public\": true, \"vendor\": \"Ubuntu\", \"expiry\": null, \"eol\": \"2024-01-20T05:00:00\", \"status\": \"available\", \"capabilities\": []}, {\"id\": \"linode\/debian9\", \"label\": \"Debian 9\", \"deprecated\": true, \"size\": 1600, \"created\": \"2017-06-16T20:02:29\", \"updated\": \"2023-05-24T03:11:36\", \"description\": \"\", \"created_by\": \"linode\", \"type\": \"manual\", \"is_public\": true, \"vendor\": \"Debian\", \"expiry\": null, \"eol\": \"2022-07-01T04:00:00\", \"status\": \"available\", \"capabilities\": []}, {\"id\": \"linode\/slackware14.1\", \"label\": \"Slackware 14.1\", \"deprecated\": true, \"size\": 1000, \"created\": \"2013-11-25T16:11:02\", \"updated\": \"2013-11-25T16:11:02\", \"description\": null, \"created_by\": \"linode\", \"type\": \"manual\", \"is_public\": true, \"vendor\": \"Slackware\", \"expiry\": null, \"eol\": null, \"status\": \"available\", \"capabilities\": []}], \"page\": 1, \"pages\": 1, \"results\": 37}"} \ No newline at end of file diff --git a/tests/Fixtures/Saloon/get/linode/instances.json b/tests/Fixtures/Saloon/get/linode/instances.json new file mode 100644 index 0000000..bee5651 --- /dev/null +++ b/tests/Fixtures/Saloon/get/linode/instances.json @@ -0,0 +1 @@ +{"statusCode":401,"headers":{"Server":"nginx","Date":"Tue, 04 Jul 2023 08:37:11 GMT","Content-Type":"application\/json","Content-Length":"41","Connection":"keep-alive","Cache-Control":"private, max-age=0, s-maxage=0, no-cache, no-store","X-OAuth-Scopes":"unknown","X-Accepted-OAuth-Scopes":"linodes:read_only","X-Frame-Options":"DENY","Access-Control-Allow-Origin":"*","Access-Control-Allow-Methods":"HEAD, GET, OPTIONS, POST, PUT, DELETE","Access-Control-Allow-Headers":"Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter","X-Spec-Version":"4.157.1","Vary":"Authorization, X-Filter"},"data":"{\"errors\": [{\"reason\": \"Invalid Token\"}]}"} \ No newline at end of file diff --git a/tests/Fixtures/Saloon/get/linode/instances/31293947.json b/tests/Fixtures/Saloon/get/linode/instances/31293947.json new file mode 100644 index 0000000..2499f17 --- /dev/null +++ b/tests/Fixtures/Saloon/get/linode/instances/31293947.json @@ -0,0 +1 @@ +{"statusCode":401,"headers":{"Server":"nginx","Date":"Tue, 04 Jul 2023 08:37:06 GMT","Content-Type":"application\/json","Content-Length":"41","Connection":"keep-alive","Cache-Control":"private, max-age=0, s-maxage=0, no-cache, no-store","X-OAuth-Scopes":"unknown","X-Accepted-OAuth-Scopes":"linodes:read_only","X-Frame-Options":"DENY","Access-Control-Allow-Origin":"*","Access-Control-Allow-Methods":"HEAD, GET, OPTIONS, POST, PUT, DELETE","Access-Control-Allow-Headers":"Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter","X-Spec-Version":"4.157.1","Vary":"Authorization, X-Filter","X-RateLimit-Limit":"800","X-RateLimit-Remaining":"797","X-RateLimit-Reset":"1688459879","Retry-After":"52"},"data":"{\"errors\": [{\"reason\": \"Invalid Token\"}]}"} \ No newline at end of file diff --git a/tests/Fixtures/Saloon/get/linode/instances/31293947/disks.json b/tests/Fixtures/Saloon/get/linode/instances/31293947/disks.json new file mode 100644 index 0000000..e50ce09 --- /dev/null +++ b/tests/Fixtures/Saloon/get/linode/instances/31293947/disks.json @@ -0,0 +1 @@ +{"statusCode":401,"headers":{"Server":"nginx","Date":"Tue, 04 Jul 2023 08:37:10 GMT","Content-Type":"application\/json","Content-Length":"41","Connection":"keep-alive","Cache-Control":"private, max-age=0, s-maxage=0, no-cache, no-store","X-OAuth-Scopes":"unknown","X-Accepted-OAuth-Scopes":"linodes:read_only","X-Frame-Options":"DENY","Access-Control-Allow-Origin":"*","Access-Control-Allow-Methods":"HEAD, GET, OPTIONS, POST, PUT, DELETE","Access-Control-Allow-Headers":"Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter","X-Spec-Version":"4.157.1","Vary":"Authorization, X-Filter"},"data":"{\"errors\": [{\"reason\": \"Invalid Token\"}]}"} \ No newline at end of file diff --git a/tests/Fixtures/Saloon/get/linode/types.json b/tests/Fixtures/Saloon/get/linode/types.json index 8caf0f6..5d46243 100644 --- a/tests/Fixtures/Saloon/get/linode/types.json +++ b/tests/Fixtures/Saloon/get/linode/types.json @@ -1 +1,39 @@ -{"statusCode":200,"headers":{"Server":"nginx","Date":"Mon, 03 Jul 2023 13:11:16 GMT","Content-Type":"application\/json","Content-Length":"8578","Connection":"keep-alive","Cache-Control":["private, max-age=900","private, max-age=60, s-maxage=60"],"X-OAuth-Scopes":"unknown","X-Accepted-OAuth-Scopes":"*","X-Frame-Options":["DENY","DENY"],"Access-Control-Allow-Origin":"*","Access-Control-Allow-Methods":"HEAD, GET, OPTIONS, POST, PUT, DELETE","Access-Control-Allow-Headers":"Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter","X-Spec-Version":"4.157.1","Vary":["Authorization, X-Filter","Authorization, X-Filter"],"X-RateLimit-Limit":"800","X-RateLimit-Remaining":"799","X-RateLimit-Reset":"1688389937","Retry-After":"60","Access-Control-Allow-Credentials":"true","Access-Control-Expose-Headers":"X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status","Content-Security-Policy":"default-src 'none'","X-Content-Type-Options":"nosniff","X-XSS-Protection":"1; mode=block","Strict-Transport-Security":"max-age=31536000"},"data":"{\"data\": [{\"id\": \"g6-nanode-1\", \"label\": \"Nanode 1GB\", \"price\": {\"hourly\": 0.0075, \"monthly\": 5.0}, \"addons\": {\"backups\": {\"price\": {\"hourly\": 0.003, \"monthly\": 2.0}}}, \"memory\": 1024, \"disk\": 25600, \"transfer\": 1000, \"vcpus\": 1, \"gpus\": 0, \"network_out\": 1000, \"class\": \"nanode\", \"successor\": null}, {\"id\": \"g6-standard-1\", \"label\": \"Linode 2GB\", \"price\": {\"hourly\": 0.018, \"monthly\": 12.0}, \"addons\": {\"backups\": {\"price\": {\"hourly\": 0.004, \"monthly\": 2.5}}}, \"memory\": 2048, \"disk\": 51200, \"transfer\": 2000, \"vcpus\": 1, \"gpus\": 0, \"network_out\": 2000, \"class\": \"standard\", \"successor\": null}, {\"id\": \"g6-standard-2\", \"label\": \"Linode 4GB\", \"price\": {\"hourly\": 0.036, \"monthly\": 24.0}, \"addons\": {\"backups\": {\"price\": {\"hourly\": 0.008, \"monthly\": 5.0}}}, \"memory\": 4096, \"disk\": 81920, \"transfer\": 4000, \"vcpus\": 2, \"gpus\": 0, \"network_out\": 4000, \"class\": \"standard\", \"successor\": null}, {\"id\": \"g6-standard-4\", \"label\": \"Linode 8GB\", \"price\": {\"hourly\": 0.072, \"monthly\": 48.0}, \"addons\": {\"backups\": {\"price\": {\"hourly\": 0.015, \"monthly\": 10.0}}}, \"memory\": 8192, \"disk\": 163840, \"transfer\": 5000, \"vcpus\": 4, \"gpus\": 0, \"network_out\": 5000, \"class\": \"standard\", \"successor\": null}, {\"id\": \"g6-standard-6\", \"label\": \"Linode 16GB\", \"price\": {\"hourly\": 0.144, \"monthly\": 96.0}, \"addons\": {\"backups\": {\"price\": {\"hourly\": 0.03, \"monthly\": 20.0}}}, \"memory\": 16384, \"disk\": 327680, \"transfer\": 8000, \"vcpus\": 6, \"gpus\": 0, \"network_out\": 6000, \"class\": \"standard\", \"successor\": null}, {\"id\": \"g6-standard-8\", \"label\": \"Linode 32GB\", \"price\": {\"hourly\": 0.288, \"monthly\": 192.0}, \"addons\": {\"backups\": {\"price\": {\"hourly\": 0.06, \"monthly\": 40.0}}}, \"memory\": 32768, \"disk\": 655360, \"transfer\": 16000, \"vcpus\": 8, \"gpus\": 0, \"network_out\": 7000, \"class\": \"standard\", \"successor\": null}, {\"id\": \"g6-standard-16\", \"label\": \"Linode 64GB\", \"price\": {\"hourly\": 0.576, \"monthly\": 384.0}, \"addons\": {\"backups\": {\"price\": {\"hourly\": 0.12, \"monthly\": 80.0}}}, \"memory\": 65536, \"disk\": 1310720, \"transfer\": 20000, \"vcpus\": 16, \"gpus\": 0, \"network_out\": 9000, \"class\": \"standard\", \"successor\": null}, {\"id\": \"g6-standard-20\", \"label\": \"Linode 96GB\", \"price\": {\"hourly\": 0.864, \"monthly\": 576.0}, \"addons\": {\"backups\": {\"price\": {\"hourly\": 0.18, \"monthly\": 120.0}}}, \"memory\": 98304, \"disk\": 1966080, \"transfer\": 20000, \"vcpus\": 20, \"gpus\": 0, \"network_out\": 10000, \"class\": \"standard\", \"successor\": null}, {\"id\": \"g6-standard-24\", \"label\": \"Linode 128GB\", \"price\": {\"hourly\": 1.152, \"monthly\": 768.0}, \"addons\": {\"backups\": {\"price\": {\"hourly\": 0.24, \"monthly\": 160.0}}}, \"memory\": 131072, \"disk\": 2621440, \"transfer\": 20000, \"vcpus\": 24, \"gpus\": 0, \"network_out\": 11000, \"class\": \"standard\", \"successor\": null}, {\"id\": \"g6-standard-32\", \"label\": \"Linode 192GB\", \"price\": {\"hourly\": 1.728, \"monthly\": 1152.0}, \"addons\": {\"backups\": {\"price\": {\"hourly\": 0.36, \"monthly\": 240.0}}}, \"memory\": 196608, \"disk\": 3932160, \"transfer\": 20000, \"vcpus\": 32, \"gpus\": 0, \"network_out\": 12000, \"class\": \"standard\", \"successor\": null}, {\"id\": \"g7-highmem-1\", \"label\": \"Linode 24GB\", \"price\": {\"hourly\": 0.09, \"monthly\": 60.0}, \"addons\": {\"backups\": {\"price\": {\"hourly\": 0.0075, \"monthly\": 5.0}}}, \"memory\": 24576, \"disk\": 20480, \"transfer\": 5000, \"vcpus\": 2, \"gpus\": 0, \"network_out\": 5000, \"class\": \"highmem\", \"successor\": null}, {\"id\": \"g7-highmem-2\", \"label\": \"Linode 48GB\", \"price\": {\"hourly\": 0.18, \"monthly\": 120.0}, \"addons\": {\"backups\": {\"price\": {\"hourly\": 0.015, \"monthly\": 10.0}}}, \"memory\": 49152, \"disk\": 40960, \"transfer\": 6000, \"vcpus\": 2, \"gpus\": 0, \"network_out\": 6000, \"class\": \"highmem\", \"successor\": null}, {\"id\": \"g7-highmem-4\", \"label\": \"Linode 90GB\", \"price\": {\"hourly\": 0.36, \"monthly\": 240.0}, \"addons\": {\"backups\": {\"price\": {\"hourly\": 0.03, \"monthly\": 20.0}}}, \"memory\": 92160, \"disk\": 92160, \"transfer\": 7000, \"vcpus\": 4, \"gpus\": 0, \"network_out\": 7000, \"class\": \"highmem\", \"successor\": null}, {\"id\": \"g7-highmem-8\", \"label\": \"Linode 150GB\", \"price\": {\"hourly\": 0.72, \"monthly\": 480.0}, \"addons\": {\"backups\": {\"price\": {\"hourly\": 0.06, \"monthly\": 40.0}}}, \"memory\": 153600, \"disk\": 204800, \"transfer\": 8000, \"vcpus\": 8, \"gpus\": 0, \"network_out\": 8000, \"class\": \"highmem\", \"successor\": null}, {\"id\": \"g7-highmem-16\", \"label\": \"Linode 300GB\", \"price\": {\"hourly\": 1.44, \"monthly\": 960.0}, \"addons\": {\"backups\": {\"price\": {\"hourly\": 0.12, \"monthly\": 80.0}}}, \"memory\": 307200, \"disk\": 348160, \"transfer\": 9000, \"vcpus\": 16, \"gpus\": 0, \"network_out\": 9000, \"class\": \"highmem\", \"successor\": null}, {\"id\": \"g6-dedicated-2\", \"label\": \"Dedicated 4GB\", \"price\": {\"hourly\": 0.054, \"monthly\": 36.0}, \"addons\": {\"backups\": {\"price\": {\"hourly\": 0.008, \"monthly\": 5.0}}}, \"memory\": 4096, \"disk\": 81920, \"transfer\": 4000, \"vcpus\": 2, \"gpus\": 0, \"network_out\": 4000, \"class\": \"dedicated\", \"successor\": null}, {\"id\": \"g6-dedicated-4\", \"label\": \"Dedicated 8GB\", \"price\": {\"hourly\": 0.108, \"monthly\": 72.0}, \"addons\": {\"backups\": {\"price\": {\"hourly\": 0.015, \"monthly\": 10.0}}}, \"memory\": 8192, \"disk\": 163840, \"transfer\": 5000, \"vcpus\": 4, \"gpus\": 0, \"network_out\": 5000, \"class\": \"dedicated\", \"successor\": null}, {\"id\": \"g6-dedicated-8\", \"label\": \"Dedicated 16GB\", \"price\": {\"hourly\": 0.216, \"monthly\": 144.0}, \"addons\": {\"backups\": {\"price\": {\"hourly\": 0.03, \"monthly\": 20.0}}}, \"memory\": 16384, \"disk\": 327680, \"transfer\": 6000, \"vcpus\": 8, \"gpus\": 0, \"network_out\": 6000, \"class\": \"dedicated\", \"successor\": null}, {\"id\": \"g6-dedicated-16\", \"label\": \"Dedicated 32GB\", \"price\": {\"hourly\": 0.432, \"monthly\": 288.0}, \"addons\": {\"backups\": {\"price\": {\"hourly\": 0.06, \"monthly\": 40.0}}}, \"memory\": 32768, \"disk\": 655360, \"transfer\": 7000, \"vcpus\": 16, \"gpus\": 0, \"network_out\": 7000, \"class\": \"dedicated\", \"successor\": null}, {\"id\": \"g6-dedicated-32\", \"label\": \"Dedicated 64GB\", \"price\": {\"hourly\": 0.864, \"monthly\": 576.0}, \"addons\": {\"backups\": {\"price\": {\"hourly\": 0.12, \"monthly\": 80.0}}}, \"memory\": 65536, \"disk\": 1310720, \"transfer\": 8000, \"vcpus\": 32, \"gpus\": 0, \"network_out\": 8000, \"class\": \"dedicated\", \"successor\": null}, {\"id\": \"g6-dedicated-48\", \"label\": \"Dedicated 96GB\", \"price\": {\"hourly\": 1.296, \"monthly\": 864.0}, \"addons\": {\"backups\": {\"price\": {\"hourly\": 0.18, \"monthly\": 120.0}}}, \"memory\": 98304, \"disk\": 1966080, \"transfer\": 9000, \"vcpus\": 48, \"gpus\": 0, \"network_out\": 9000, \"class\": \"dedicated\", \"successor\": null}, {\"id\": \"g6-dedicated-50\", \"label\": \"Dedicated 128GB\", \"price\": {\"hourly\": 1.728, \"monthly\": 1152.0}, \"addons\": {\"backups\": {\"price\": {\"hourly\": 0.24, \"monthly\": 160.0}}}, \"memory\": 131072, \"disk\": 2560000, \"transfer\": 10000, \"vcpus\": 50, \"gpus\": 0, \"network_out\": 10000, \"class\": \"dedicated\", \"successor\": null}, {\"id\": \"g6-dedicated-56\", \"label\": \"Dedicated 256GB\", \"price\": {\"hourly\": 3.456, \"monthly\": 2304.0}, \"addons\": {\"backups\": {\"price\": {\"hourly\": 0.3, \"monthly\": 200.0}}}, \"memory\": 262144, \"disk\": 5120000, \"transfer\": 11000, \"vcpus\": 56, \"gpus\": 0, \"network_out\": 11000, \"class\": \"dedicated\", \"successor\": null}, {\"id\": \"g6-dedicated-64\", \"label\": \"Dedicated 512GB\", \"price\": {\"hourly\": 6.912, \"monthly\": 4608.0}, \"addons\": {\"backups\": {\"price\": {\"hourly\": 0.36, \"monthly\": 240.0}}}, \"memory\": 524288, \"disk\": 7372800, \"transfer\": 12000, \"vcpus\": 64, \"gpus\": 0, \"network_out\": 12000, \"class\": \"dedicated\", \"successor\": null}, {\"id\": \"g1-gpu-rtx6000-1\", \"label\": \"Dedicated 32GB + RTX6000 GPU x1\", \"price\": {\"hourly\": 1.5, \"monthly\": 1000.0}, \"addons\": {\"backups\": {\"price\": {\"hourly\": 0.06, \"monthly\": 40.0}}}, \"memory\": 32768, \"disk\": 655360, \"transfer\": 16000, \"vcpus\": 8, \"gpus\": 1, \"network_out\": 10000, \"class\": \"gpu\", \"successor\": null}, {\"id\": \"g1-gpu-rtx6000-2\", \"label\": \"Dedicated 64GB + RTX6000 GPU x2\", \"price\": {\"hourly\": 3.0, \"monthly\": 2000.0}, \"addons\": {\"backups\": {\"price\": {\"hourly\": 0.12, \"monthly\": 80.0}}}, \"memory\": 65536, \"disk\": 1310720, \"transfer\": 20000, \"vcpus\": 16, \"gpus\": 2, \"network_out\": 10000, \"class\": \"gpu\", \"successor\": null}, {\"id\": \"g1-gpu-rtx6000-3\", \"label\": \"Dedicated 96GB + RTX6000 GPU x3\", \"price\": {\"hourly\": 4.5, \"monthly\": 3000.0}, \"addons\": {\"backups\": {\"price\": {\"hourly\": 0.18, \"monthly\": 120.0}}}, \"memory\": 98304, \"disk\": 1966080, \"transfer\": 20000, \"vcpus\": 20, \"gpus\": 3, \"network_out\": 10000, \"class\": \"gpu\", \"successor\": null}, {\"id\": \"g1-gpu-rtx6000-4\", \"label\": \"Dedicated 128GB + RTX6000 GPU x4\", \"price\": {\"hourly\": 6.0, \"monthly\": 4000.0}, \"addons\": {\"backups\": {\"price\": {\"hourly\": 0.24, \"monthly\": 160.0}}}, \"memory\": 131072, \"disk\": 2621440, \"transfer\": 20000, \"vcpus\": 24, \"gpus\": 4, \"network_out\": 10000, \"class\": \"gpu\", \"successor\": null}], \"page\": 1, \"pages\": 1, \"results\": 28}"} \ No newline at end of file +{ + "statusCode": 200, + "headers": { + "Server": "nginx", + "Date": "Mon, 03 Jul 2023 13:11:16 GMT", + "Content-Type": "application\/json", + "Content-Length": "8578", + "Connection": "keep-alive", + "Cache-Control": [ + "private, max-age=900", + "private, max-age=60, s-maxage=60" + ], + "X-OAuth-Scopes": "unknown", + "X-Accepted-OAuth-Scopes": "*", + "X-Frame-Options": [ + "DENY", + "DENY" + ], + "Access-Control-Allow-Origin": "*", + "Access-Control-Allow-Methods": "HEAD, GET, OPTIONS, POST, PUT, DELETE", + "Access-Control-Allow-Headers": "Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter", + "X-Spec-Version": "4.157.1", + "Vary": [ + "Authorization, X-Filter", + "Authorization, X-Filter" + ], + "X-RateLimit-Limit": "800", + "X-RateLimit-Remaining": "799", + "X-RateLimit-Reset": "1688389937", + "Retry-After": "60", + "Access-Control-Allow-Credentials": "true", + "Access-Control-Expose-Headers": "X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status", + "Content-Security-Policy": "default-src 'none'", + "X-Content-Type-Options": "nosniff", + "X-XSS-Protection": "1; mode=block", + "Strict-Transport-Security": "max-age=31536000" + }, + "data": "{\"data\": [{\"id\": \"g6-nanode-1\", \"label\": \"Nanode 1GB\", \"price\": {\"hourly\": 0.0075, \"monthly\": 5.0}, \"addons\": {\"backups\": {\"price\": {\"hourly\": 0.003, \"monthly\": 2.0}}}, \"memory\": 1024, \"disk\": 25600, \"transfer\": 1000, \"vcpus\": 1, \"gpus\": 0, \"network_out\": 1000, \"class\": \"nanode\", \"successor\": null}, {\"id\": \"g6-standard-1\", \"label\": \"Linode 2GB\", \"price\": {\"hourly\": 0.018, \"monthly\": 12.0}, \"addons\": {\"backups\": {\"price\": {\"hourly\": 0.004, \"monthly\": 2.5}}}, \"memory\": 2048, \"disk\": 51200, \"transfer\": 2000, \"vcpus\": 1, \"gpus\": 0, \"network_out\": 2000, \"class\": \"standard\", \"successor\": null}, {\"id\": \"g6-standard-2\", \"label\": \"Linode 4GB\", \"price\": {\"hourly\": 0.036, \"monthly\": 24.0}, \"addons\": {\"backups\": {\"price\": {\"hourly\": 0.008, \"monthly\": 5.0}}}, \"memory\": 4096, \"disk\": 81920, \"transfer\": 4000, \"vcpus\": 2, \"gpus\": 0, \"network_out\": 4000, \"class\": \"standard\", \"successor\": null}, {\"id\": \"g6-standard-4\", \"label\": \"Linode 8GB\", \"price\": {\"hourly\": 0.072, \"monthly\": 48.0}, \"addons\": {\"backups\": {\"price\": {\"hourly\": 0.015, \"monthly\": 10.0}}}, \"memory\": 8192, \"disk\": 163840, \"transfer\": 5000, \"vcpus\": 4, \"gpus\": 0, \"network_out\": 5000, \"class\": \"standard\", \"successor\": null}, {\"id\": \"g6-standard-6\", \"label\": \"Linode 16GB\", \"price\": {\"hourly\": 0.144, \"monthly\": 96.0}, \"addons\": {\"backups\": {\"price\": {\"hourly\": 0.03, \"monthly\": 20.0}}}, \"memory\": 16384, \"disk\": 327680, \"transfer\": 8000, \"vcpus\": 6, \"gpus\": 0, \"network_out\": 6000, \"class\": \"standard\", \"successor\": null}, {\"id\": \"g6-standard-8\", \"label\": \"Linode 32GB\", \"price\": {\"hourly\": 0.288, \"monthly\": 192.0}, \"addons\": {\"backups\": {\"price\": {\"hourly\": 0.06, \"monthly\": 40.0}}}, \"memory\": 32768, \"disk\": 655360, \"transfer\": 16000, \"vcpus\": 8, \"gpus\": 0, \"network_out\": 7000, \"class\": \"standard\", \"successor\": null}, {\"id\": \"g6-standard-16\", \"label\": \"Linode 64GB\", \"price\": {\"hourly\": 0.576, \"monthly\": 384.0}, \"addons\": {\"backups\": {\"price\": {\"hourly\": 0.12, \"monthly\": 80.0}}}, \"memory\": 65536, \"disk\": 1310720, \"transfer\": 20000, \"vcpus\": 16, \"gpus\": 0, \"network_out\": 9000, \"class\": \"standard\", \"successor\": null}, {\"id\": \"g6-standard-20\", \"label\": \"Linode 96GB\", \"price\": {\"hourly\": 0.864, \"monthly\": 576.0}, \"addons\": {\"backups\": {\"price\": {\"hourly\": 0.18, \"monthly\": 120.0}}}, \"memory\": 98304, \"disk\": 1966080, \"transfer\": 20000, \"vcpus\": 20, \"gpus\": 0, \"network_out\": 10000, \"class\": \"standard\", \"successor\": null}, {\"id\": \"g6-standard-24\", \"label\": \"Linode 128GB\", \"price\": {\"hourly\": 1.152, \"monthly\": 768.0}, \"addons\": {\"backups\": {\"price\": {\"hourly\": 0.24, \"monthly\": 160.0}}}, \"memory\": 131072, \"disk\": 2621440, \"transfer\": 20000, \"vcpus\": 24, \"gpus\": 0, \"network_out\": 11000, \"class\": \"standard\", \"successor\": null}, {\"id\": \"g6-standard-32\", \"label\": \"Linode 192GB\", \"price\": {\"hourly\": 1.728, \"monthly\": 1152.0}, \"addons\": {\"backups\": {\"price\": {\"hourly\": 0.36, \"monthly\": 240.0}}}, \"memory\": 196608, \"disk\": 3932160, \"transfer\": 20000, \"vcpus\": 32, \"gpus\": 0, \"network_out\": 12000, \"class\": \"standard\", \"successor\": null}, {\"id\": \"g7-highmem-1\", \"label\": \"Linode 24GB\", \"price\": {\"hourly\": 0.09, \"monthly\": 60.0}, \"addons\": {\"backups\": {\"price\": {\"hourly\": 0.0075, \"monthly\": 5.0}}}, \"memory\": 24576, \"disk\": 20480, \"transfer\": 5000, \"vcpus\": 2, \"gpus\": 0, \"network_out\": 5000, \"class\": \"highmem\", \"successor\": null}, {\"id\": \"g7-highmem-2\", \"label\": \"Linode 48GB\", \"price\": {\"hourly\": 0.18, \"monthly\": 120.0}, \"addons\": {\"backups\": {\"price\": {\"hourly\": 0.015, \"monthly\": 10.0}}}, \"memory\": 49152, \"disk\": 40960, \"transfer\": 6000, \"vcpus\": 2, \"gpus\": 0, \"network_out\": 6000, \"class\": \"highmem\", \"successor\": null}, {\"id\": \"g7-highmem-4\", \"label\": \"Linode 90GB\", \"price\": {\"hourly\": 0.36, \"monthly\": 240.0}, \"addons\": {\"backups\": {\"price\": {\"hourly\": 0.03, \"monthly\": 20.0}}}, \"memory\": 92160, \"disk\": 92160, \"transfer\": 7000, \"vcpus\": 4, \"gpus\": 0, \"network_out\": 7000, \"class\": \"highmem\", \"successor\": null}, {\"id\": \"g7-highmem-8\", \"label\": \"Linode 150GB\", \"price\": {\"hourly\": 0.72, \"monthly\": 480.0}, \"addons\": {\"backups\": {\"price\": {\"hourly\": 0.06, \"monthly\": 40.0}}}, \"memory\": 153600, \"disk\": 204800, \"transfer\": 8000, \"vcpus\": 8, \"gpus\": 0, \"network_out\": 8000, \"class\": \"highmem\", \"successor\": null}, {\"id\": \"g7-highmem-16\", \"label\": \"Linode 300GB\", \"price\": {\"hourly\": 1.44, \"monthly\": 960.0}, \"addons\": {\"backups\": {\"price\": {\"hourly\": 0.12, \"monthly\": 80.0}}}, \"memory\": 307200, \"disk\": 348160, \"transfer\": 9000, \"vcpus\": 16, \"gpus\": 0, \"network_out\": 9000, \"class\": \"highmem\", \"successor\": null}, {\"id\": \"g6-dedicated-2\", \"label\": \"Dedicated 4GB\", \"price\": {\"hourly\": 0.054, \"monthly\": 36.0}, \"addons\": {\"backups\": {\"price\": {\"hourly\": 0.008, \"monthly\": 5.0}}}, \"memory\": 4096, \"disk\": 81920, \"transfer\": 4000, \"vcpus\": 2, \"gpus\": 0, \"network_out\": 4000, \"class\": \"dedicated\", \"successor\": null}, {\"id\": \"g6-dedicated-4\", \"label\": \"Dedicated 8GB\", \"price\": {\"hourly\": 0.108, \"monthly\": 72.0}, \"addons\": {\"backups\": {\"price\": {\"hourly\": 0.015, \"monthly\": 10.0}}}, \"memory\": 8192, \"disk\": 163840, \"transfer\": 5000, \"vcpus\": 4, \"gpus\": 0, \"network_out\": 5000, \"class\": \"dedicated\", \"successor\": null}, {\"id\": \"g6-dedicated-8\", \"label\": \"Dedicated 16GB\", \"price\": {\"hourly\": 0.216, \"monthly\": 144.0}, \"addons\": {\"backups\": {\"price\": {\"hourly\": 0.03, \"monthly\": 20.0}}}, \"memory\": 16384, \"disk\": 327680, \"transfer\": 6000, \"vcpus\": 8, \"gpus\": 0, \"network_out\": 6000, \"class\": \"dedicated\", \"successor\": null}, {\"id\": \"g6-dedicated-16\", \"label\": \"Dedicated 32GB\", \"price\": {\"hourly\": 0.432, \"monthly\": 288.0}, \"addons\": {\"backups\": {\"price\": {\"hourly\": 0.06, \"monthly\": 40.0}}}, \"memory\": 32768, \"disk\": 655360, \"transfer\": 7000, \"vcpus\": 16, \"gpus\": 0, \"network_out\": 7000, \"class\": \"dedicated\", \"successor\": null}, {\"id\": \"g6-dedicated-32\", \"label\": \"Dedicated 64GB\", \"price\": {\"hourly\": 0.864, \"monthly\": 576.0}, \"addons\": {\"backups\": {\"price\": {\"hourly\": 0.12, \"monthly\": 80.0}}}, \"memory\": 65536, \"disk\": 1310720, \"transfer\": 8000, \"vcpus\": 32, \"gpus\": 0, \"network_out\": 8000, \"class\": \"dedicated\", \"successor\": null}, {\"id\": \"g6-dedicated-48\", \"label\": \"Dedicated 96GB\", \"price\": {\"hourly\": 1.296, \"monthly\": 864.0}, \"addons\": {\"backups\": {\"price\": {\"hourly\": 0.18, \"monthly\": 120.0}}}, \"memory\": 98304, \"disk\": 1966080, \"transfer\": 9000, \"vcpus\": 48, \"gpus\": 0, \"network_out\": 9000, \"class\": \"dedicated\", \"successor\": null}, {\"id\": \"g6-dedicated-50\", \"label\": \"Dedicated 128GB\", \"price\": {\"hourly\": 1.728, \"monthly\": 1152.0}, \"addons\": {\"backups\": {\"price\": {\"hourly\": 0.24, \"monthly\": 160.0}}}, \"memory\": 131072, \"disk\": 2560000, \"transfer\": 10000, \"vcpus\": 50, \"gpus\": 0, \"network_out\": 10000, \"class\": \"dedicated\", \"successor\": null}, {\"id\": \"g6-dedicated-56\", \"label\": \"Dedicated 256GB\", \"price\": {\"hourly\": 3.456, \"monthly\": 2304.0}, \"addons\": {\"backups\": {\"price\": {\"hourly\": 0.3, \"monthly\": 200.0}}}, \"memory\": 262144, \"disk\": 5120000, \"transfer\": 11000, \"vcpus\": 56, \"gpus\": 0, \"network_out\": 11000, \"class\": \"dedicated\", \"successor\": null}, {\"id\": \"g6-dedicated-64\", \"label\": \"Dedicated 512GB\", \"price\": {\"hourly\": 6.912, \"monthly\": 4608.0}, \"addons\": {\"backups\": {\"price\": {\"hourly\": 0.36, \"monthly\": 240.0}}}, \"memory\": 524288, \"disk\": 7372800, \"transfer\": 12000, \"vcpus\": 64, \"gpus\": 0, \"network_out\": 12000, \"class\": \"dedicated\", \"successor\": null}, {\"id\": \"g1-gpu-rtx6000-1\", \"label\": \"Dedicated 32GB + RTX6000 GPU x1\", \"price\": {\"hourly\": 1.5, \"monthly\": 1000.0}, \"addons\": {\"backups\": {\"price\": {\"hourly\": 0.06, \"monthly\": 40.0}}}, \"memory\": 32768, \"disk\": 655360, \"transfer\": 16000, \"vcpus\": 8, \"gpus\": 1, \"network_out\": 10000, \"class\": \"gpu\", \"successor\": null}, {\"id\": \"g1-gpu-rtx6000-2\", \"label\": \"Dedicated 64GB + RTX6000 GPU x2\", \"price\": {\"hourly\": 3.0, \"monthly\": 2000.0}, \"addons\": {\"backups\": {\"price\": {\"hourly\": 0.12, \"monthly\": 80.0}}}, \"memory\": 65536, \"disk\": 1310720, \"transfer\": 20000, \"vcpus\": 16, \"gpus\": 2, \"network_out\": 10000, \"class\": \"gpu\", \"successor\": null}, {\"id\": \"g1-gpu-rtx6000-3\", \"label\": \"Dedicated 96GB + RTX6000 GPU x3\", \"price\": {\"hourly\": 4.5, \"monthly\": 3000.0}, \"addons\": {\"backups\": {\"price\": {\"hourly\": 0.18, \"monthly\": 120.0}}}, \"memory\": 98304, \"disk\": 1966080, \"transfer\": 20000, \"vcpus\": 20, \"gpus\": 3, \"network_out\": 10000, \"class\": \"gpu\", \"successor\": null}, {\"id\": \"g1-gpu-rtx6000-4\", \"label\": \"Dedicated 128GB + RTX6000 GPU x4\", \"price\": {\"hourly\": 6.0, \"monthly\": 4000.0}, \"addons\": {\"backups\": {\"price\": {\"hourly\": 0.24, \"monthly\": 160.0}}}, \"memory\": 131072, \"disk\": 2621440, \"transfer\": 20000, \"vcpus\": 24, \"gpus\": 4, \"network_out\": 10000, \"class\": \"gpu\", \"successor\": null}], \"page\": 1, \"pages\": 1, \"results\": 28}" +} diff --git a/tests/Fixtures/Saloon/get/networking/firewalls/29666.json b/tests/Fixtures/Saloon/get/networking/firewalls/29666.json new file mode 100644 index 0000000..5b09234 --- /dev/null +++ b/tests/Fixtures/Saloon/get/networking/firewalls/29666.json @@ -0,0 +1 @@ +{"statusCode":401,"headers":{"Server":"nginx","Date":"Tue, 04 Jul 2023 08:37:14 GMT","Content-Type":"application\/json","Content-Length":"41","Connection":"keep-alive","Cache-Control":"private, max-age=0, s-maxage=0, no-cache, no-store","X-OAuth-Scopes":"unknown","X-Accepted-OAuth-Scopes":"firewall:read_only","X-Frame-Options":"DENY","Access-Control-Allow-Origin":"*","Access-Control-Allow-Methods":"HEAD, GET, OPTIONS, POST, PUT, DELETE","Access-Control-Allow-Headers":"Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter","X-Spec-Version":"4.157.1","Vary":"Authorization, X-Filter","X-RateLimit-Limit":"800","X-RateLimit-Remaining":"797","X-RateLimit-Reset":"1688459879","Retry-After":"44"},"data":"{\"errors\": [{\"reason\": \"Invalid Token\"}]}"} \ No newline at end of file diff --git a/tests/Fixtures/Saloon/get/regions.json b/tests/Fixtures/Saloon/get/regions.json index 6c2ee8a..27a1512 100644 --- a/tests/Fixtures/Saloon/get/regions.json +++ b/tests/Fixtures/Saloon/get/regions.json @@ -1 +1 @@ -{"statusCode":200,"headers":{"Server":"nginx","Date":"Mon, 03 Jul 2023 12:29:53 GMT","Content-Type":"application\/json","Content-Length":"6528","Connection":"keep-alive","Cache-Control":["private, max-age=900","private, max-age=60, s-maxage=60"],"X-OAuth-Scopes":"unknown","X-Accepted-OAuth-Scopes":"*","X-Frame-Options":["DENY","DENY"],"Access-Control-Allow-Origin":"*","Access-Control-Allow-Methods":"HEAD, GET, OPTIONS, POST, PUT, DELETE","Access-Control-Allow-Headers":"Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter","X-Spec-Version":"4.157.1","Vary":["Authorization, X-Filter","Authorization, X-Filter"],"X-RateLimit-Limit":"800","X-RateLimit-Remaining":"799","X-RateLimit-Reset":"1688387454","Retry-After":"60","Access-Control-Allow-Credentials":"true","Access-Control-Expose-Headers":"X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status","Content-Security-Policy":"default-src 'none'","X-Content-Type-Options":"nosniff","X-XSS-Protection":"1; mode=block","Strict-Transport-Security":"max-age=31536000"},"data":"{\"data\": [{\"id\": \"ap-west\", \"label\": \"Mumbai, IN\", \"country\": \"in\", \"capabilities\": [\"Linodes\", \"NodeBalancers\", \"Block Storage\", \"GPU Linodes\", \"Kubernetes\", \"Cloud Firewall\", \"Vlans\", \"Block Storage Migrations\", \"Managed Databases\"], \"status\": \"ok\", \"resolvers\": {\"ipv4\": \"172.105.34.5,172.105.35.5,172.105.36.5,172.105.37.5,172.105.38.5,172.105.39.5,172.105.40.5,172.105.41.5,172.105.42.5,172.105.43.5\", \"ipv6\": \"2400:8904::f03c:91ff:fea5:659,2400:8904::f03c:91ff:fea5:9282,2400:8904::f03c:91ff:fea5:b9b3,2400:8904::f03c:91ff:fea5:925a,2400:8904::f03c:91ff:fea5:22cb,2400:8904::f03c:91ff:fea5:227a,2400:8904::f03c:91ff:fea5:924c,2400:8904::f03c:91ff:fea5:f7e2,2400:8904::f03c:91ff:fea5:2205,2400:8904::f03c:91ff:fea5:9207\"}}, {\"id\": \"ca-central\", \"label\": \"Toronto, CA\", \"country\": \"ca\", \"capabilities\": [\"Linodes\", \"NodeBalancers\", \"Block Storage\", \"Kubernetes\", \"Cloud Firewall\", \"Vlans\", \"Block Storage Migrations\", \"Managed Databases\"], \"status\": \"ok\", \"resolvers\": {\"ipv4\": \"172.105.0.5,172.105.3.5,172.105.4.5,172.105.5.5,172.105.6.5,172.105.7.5,172.105.8.5,172.105.9.5,172.105.10.5,172.105.11.5\", \"ipv6\": \"2600:3c04::f03c:91ff:fea9:f63,2600:3c04::f03c:91ff:fea9:f6d,2600:3c04::f03c:91ff:fea9:f80,2600:3c04::f03c:91ff:fea9:f0f,2600:3c04::f03c:91ff:fea9:f99,2600:3c04::f03c:91ff:fea9:fbd,2600:3c04::f03c:91ff:fea9:fdd,2600:3c04::f03c:91ff:fea9:fe2,2600:3c04::f03c:91ff:fea9:f68,2600:3c04::f03c:91ff:fea9:f4a\"}}, {\"id\": \"ap-southeast\", \"label\": \"Sydney, AU\", \"country\": \"au\", \"capabilities\": [\"Linodes\", \"NodeBalancers\", \"Block Storage\", \"Kubernetes\", \"Cloud Firewall\", \"Vlans\", \"Block Storage Migrations\", \"Managed Databases\"], \"status\": \"ok\", \"resolvers\": {\"ipv4\": \"172.105.166.5,172.105.169.5,172.105.168.5,172.105.172.5,172.105.162.5,172.105.170.5,172.105.167.5,172.105.171.5,172.105.181.5,172.105.161.5\", \"ipv6\": \"2400:8907::f03c:92ff:fe6e:ec8,2400:8907::f03c:92ff:fe6e:98e4,2400:8907::f03c:92ff:fe6e:1c58,2400:8907::f03c:92ff:fe6e:c299,2400:8907::f03c:92ff:fe6e:c210,2400:8907::f03c:92ff:fe6e:c219,2400:8907::f03c:92ff:fe6e:1c5c,2400:8907::f03c:92ff:fe6e:c24e,2400:8907::f03c:92ff:fe6e:e6b,2400:8907::f03c:92ff:fe6e:e3d\"}}, {\"id\": \"us-central\", \"label\": \"Dallas, TX\", \"country\": \"us\", \"capabilities\": [\"Linodes\", \"NodeBalancers\", \"Block Storage\", \"Kubernetes\", \"Cloud Firewall\", \"Block Storage Migrations\", \"Managed Databases\"], \"status\": \"ok\", \"resolvers\": {\"ipv4\": \"72.14.179.5,72.14.188.5,173.255.199.5,66.228.53.5,96.126.122.5,96.126.124.5,96.126.127.5,198.58.107.5,198.58.111.5,23.239.24.5\", \"ipv6\": \"2600:3c00::2,2600:3c00::9,2600:3c00::7,2600:3c00::5,2600:3c00::3,2600:3c00::8,2600:3c00::6,2600:3c00::4,2600:3c00::c,2600:3c00::b\"}}, {\"id\": \"us-west\", \"label\": \"Fremont, CA\", \"country\": \"us\", \"capabilities\": [\"Linodes\", \"NodeBalancers\", \"Block Storage\", \"Kubernetes\", \"Cloud Firewall\", \"Block Storage Migrations\", \"Managed Databases\"], \"status\": \"ok\", \"resolvers\": {\"ipv4\": \"173.230.145.5,173.230.147.5,173.230.155.5,173.255.212.5,173.255.219.5,173.255.241.5,173.255.243.5,173.255.244.5,74.207.241.5,74.207.242.5\", \"ipv6\": \"2600:3c01::2,2600:3c01::9,2600:3c01::5,2600:3c01::7,2600:3c01::3,2600:3c01::8,2600:3c01::4,2600:3c01::b,2600:3c01::c,2600:3c01::6\"}}, {\"id\": \"us-southeast\", \"label\": \"Atlanta, GA\", \"country\": \"us\", \"capabilities\": [\"Linodes\", \"NodeBalancers\", \"Block Storage\", \"Object Storage\", \"GPU Linodes\", \"Kubernetes\", \"Cloud Firewall\", \"Vlans\", \"Block Storage Migrations\", \"Managed Databases\"], \"status\": \"ok\", \"resolvers\": {\"ipv4\": \"74.207.231.5,173.230.128.5,173.230.129.5,173.230.136.5,173.230.140.5,66.228.59.5,66.228.62.5,50.116.35.5,50.116.41.5,23.239.18.5\", \"ipv6\": \"2600:3c02::3,2600:3c02::5,2600:3c02::4,2600:3c02::6,2600:3c02::c,2600:3c02::7,2600:3c02::2,2600:3c02::9,2600:3c02::8,2600:3c02::b\"}}, {\"id\": \"us-east\", \"label\": \"Newark, NJ\", \"country\": \"us\", \"capabilities\": [\"Linodes\", \"NodeBalancers\", \"Block Storage\", \"Object Storage\", \"GPU Linodes\", \"Kubernetes\", \"Cloud Firewall\", \"Bare Metal\", \"Vlans\", \"Block Storage Migrations\", \"Managed Databases\"], \"status\": \"ok\", \"resolvers\": {\"ipv4\": \"66.228.42.5,96.126.106.5,50.116.53.5,50.116.58.5,50.116.61.5,50.116.62.5,66.175.211.5,97.107.133.4,207.192.69.4,207.192.69.5\", \"ipv6\": \"2600:3c03::7,2600:3c03::4,2600:3c03::9,2600:3c03::6,2600:3c03::3,2600:3c03::c,2600:3c03::5,2600:3c03::b,2600:3c03::2,2600:3c03::8\"}}, {\"id\": \"eu-west\", \"label\": \"London, UK\", \"country\": \"uk\", \"capabilities\": [\"Linodes\", \"NodeBalancers\", \"Block Storage\", \"Kubernetes\", \"Cloud Firewall\", \"Vlans\", \"Block Storage Migrations\", \"Managed Databases\"], \"status\": \"ok\", \"resolvers\": {\"ipv4\": \"178.79.182.5,176.58.107.5,176.58.116.5,176.58.121.5,151.236.220.5,212.71.252.5,212.71.253.5,109.74.192.20,109.74.193.20,109.74.194.20\", \"ipv6\": \"2a01:7e00::9,2a01:7e00::3,2a01:7e00::c,2a01:7e00::5,2a01:7e00::6,2a01:7e00::8,2a01:7e00::b,2a01:7e00::4,2a01:7e00::7,2a01:7e00::2\"}}, {\"id\": \"ap-south\", \"label\": \"Singapore, SG\", \"country\": \"sg\", \"capabilities\": [\"Linodes\", \"NodeBalancers\", \"Block Storage\", \"Object Storage\", \"GPU Linodes\", \"Kubernetes\", \"Cloud Firewall\", \"Vlans\", \"Block Storage Migrations\", \"Managed Databases\"], \"status\": \"ok\", \"resolvers\": {\"ipv4\": \"139.162.11.5,139.162.13.5,139.162.14.5,139.162.15.5,139.162.16.5,139.162.21.5,139.162.27.5,103.3.60.18,103.3.60.19,103.3.60.20\", \"ipv6\": \"2400:8901::5,2400:8901::4,2400:8901::b,2400:8901::3,2400:8901::9,2400:8901::2,2400:8901::8,2400:8901::7,2400:8901::c,2400:8901::6\"}}, {\"id\": \"eu-central\", \"label\": \"Frankfurt, DE\", \"country\": \"de\", \"capabilities\": [\"Linodes\", \"NodeBalancers\", \"Block Storage\", \"Object Storage\", \"GPU Linodes\", \"Kubernetes\", \"Cloud Firewall\", \"Vlans\", \"Block Storage Migrations\", \"Managed Databases\"], \"status\": \"ok\", \"resolvers\": {\"ipv4\": \"139.162.130.5,139.162.131.5,139.162.132.5,139.162.133.5,139.162.134.5,139.162.135.5,139.162.136.5,139.162.137.5,139.162.138.5,139.162.139.5\", \"ipv6\": \"2a01:7e01::5,2a01:7e01::9,2a01:7e01::7,2a01:7e01::c,2a01:7e01::2,2a01:7e01::4,2a01:7e01::3,2a01:7e01::6,2a01:7e01::b,2a01:7e01::8\"}}, {\"id\": \"ap-northeast\", \"label\": \"Tokyo, JP\", \"country\": \"jp\", \"capabilities\": [\"Linodes\", \"NodeBalancers\", \"Block Storage\", \"Kubernetes\", \"Cloud Firewall\", \"Block Storage Migrations\", \"Managed Databases\"], \"status\": \"ok\", \"resolvers\": {\"ipv4\": \"139.162.66.5,139.162.67.5,139.162.68.5,139.162.69.5,139.162.70.5,139.162.71.5,139.162.72.5,139.162.73.5,139.162.74.5,139.162.75.5\", \"ipv6\": \"2400:8902::3,2400:8902::6,2400:8902::c,2400:8902::4,2400:8902::2,2400:8902::8,2400:8902::7,2400:8902::5,2400:8902::b,2400:8902::9\"}}], \"page\": 1, \"pages\": 1, \"results\": 11}"} \ No newline at end of file +{"statusCode":200,"headers":{"Server":"nginx","Date":"Mon, 03 Jul 2023 12:29:53 GMT","Content-Type":"application\/json","Content-Length":"6528","Connection":"keep-alive","Cache-Control":["private, max-age=900","private, max-age=60, s-maxage=60"],"X-OAuth-Scopes":"unknown","X-Accepted-OAuth-Scopes":"*","X-Frame-Options":["DENY","DENY"],"Access-Control-Allow-Origin":"*","Access-Control-Allow-Methods":"HEAD, GET, OPTIONS, POST, PUT, DELETE","Access-Control-Allow-Headers":"Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter","X-Spec-Version":"4.157.1","Vary":["Authorization, X-Filter","Authorization, X-Filter"],"X-RateLimit-Limit":"800","X-RateLimit-Remaining":"799","X-RateLimit-Reset":"1688387454","Retry-After":"60","Access-Control-Allow-Credentials":"true","Access-Control-Expose-Headers":"X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status","Content-Security-Policy":"default-src 'none'","X-Content-Type-Options":"nosniff","X-XSS-Protection":"1; mode=block","Strict-Transport-Security":"max-age=31536000"},"data":"{\"data\": [{\"id\": \"ap-west\", \"label\": \"Mumbai, IN\", \"country\": \"in\", \"capabilities\": [\"Linodes\", \"NodeBalancers\", \"Block Storage\", \"GPU Linodes\", \"Kubernetes\", \"Cloud Firewall\", \"Vlans\", \"Block Storage Migrations\", \"Managed Databases\"], \"status\": \"ok\", \"resolvers\": {\"ipv4\": \"172.105.34.5,172.105.35.5,172.105.36.5,172.105.37.5,172.105.38.5,172.105.39.5,172.105.40.5,172.105.41.5,172.105.42.5,172.105.43.5\", \"ipv6\": \"2400:8904::f03c:91ff:fea5:659,2400:8904::f03c:91ff:fea5:9282,2400:8904::f03c:91ff:fea5:b9b3,2400:8904::f03c:91ff:fea5:925a,2400:8904::f03c:91ff:fea5:22cb,2400:8904::f03c:91ff:fea5:227a,2400:8904::f03c:91ff:fea5:924c,2400:8904::f03c:91ff:fea5:f7e2,2400:8904::f03c:91ff:fea5:2205,2400:8904::f03c:91ff:fea5:9207\"}}, {\"id\": \"ca-central\", \"label\": \"Toronto, CA\", \"country\": \"ca\", \"capabilities\": [\"Linodes\", \"NodeBalancers\", \"Block Storage\", \"Kubernetes\", \"Cloud Firewall\", \"Vlans\", \"Block Storage Migrations\", \"Managed Databases\"], \"status\": \"ok\", \"resolvers\": {\"ipv4\": \"172.105.0.5,172.105.3.5,172.105.4.5,172.105.5.5,172.105.6.5,172.105.7.5,172.105.8.5,172.105.9.5,172.105.10.5,172.105.11.5\", \"ipv6\": \"2600:3c04::f03c:91ff:fea9:f63,2600:3c04::f03c:91ff:fea9:f6d,2600:3c04::f03c:91ff:fea9:f80,2600:3c04::f03c:91ff:fea9:f0f,2600:3c04::f03c:91ff:fea9:f99,2600:3c04::f03c:91ff:fea9:fbd,2600:3c04::f03c:91ff:fea9:fdd,2600:3c04::f03c:91ff:fea9:fe2,2600:3c04::f03c:91ff:fea9:f68,2600:3c04::f03c:91ff:fea9:f4a\"}}, {\"id\": \"ap-southeast\", \"label\": \"Sydney, AU\", \"country\": \"au\", \"capabilities\": [\"Linodes\", \"NodeBalancers\", \"Block Storage\", \"Kubernetes\", \"Cloud Firewall\", \"Vlans\", \"Block Storage Migrations\", \"Managed Databases\"], \"status\": \"ok\", \"resolvers\": {\"ipv4\": \"172.105.166.5,172.105.169.5,172.105.168.5,172.105.172.5,172.105.162.5,172.105.170.5,172.105.167.5,172.105.171.5,172.105.181.5,172.105.161.5\", \"ipv6\": \"2400:8907::f03c:92ff:fe6e:ec8,2400:8907::f03c:92ff:fe6e:98e4,2400:8907::f03c:92ff:fe6e:1c58,2400:8907::f03c:92ff:fe6e:c299,2400:8907::f03c:92ff:fe6e:c210,2400:8907::f03c:92ff:fe6e:c219,2400:8907::f03c:92ff:fe6e:1c5c,2400:8907::f03c:92ff:fe6e:c24e,2400:8907::f03c:92ff:fe6e:e6b,2400:8907::f03c:92ff:fe6e:e3d\"}}, {\"id\": \"us-central\", \"label\": \"Dallas, TX\", \"country\": \"us\", \"capabilities\": [\"Linodes\", \"NodeBalancers\", \"Block Storage\", \"Kubernetes\", \"Cloud Firewall\", \"Block Storage Migrations\", \"Managed Databases\"], \"status\": \"ok\", \"resolvers\": {\"ipv4\": \"72.14.179.5,72.14.188.5,173.255.199.5,66.228.53.5,96.126.122.5,96.126.124.5,96.126.127.5,198.58.107.5,198.58.111.5,23.239.24.5\", \"ipv6\": \"2600:3c00::2,2600:3c00::9,2600:3c00::7,2600:3c00::5,2600:3c00::3,2600:3c00::8,2600:3c00::6,2600:3c00::4,2600:3c00::c,2600:3c00::b\"}}, {\"id\": \"us-west\", \"label\": \"Fremont, CA\", \"country\": \"us\", \"capabilities\": [\"Linodes\", \"NodeBalancers\", \"Block Storage\", \"Kubernetes\", \"Cloud Firewall\", \"Block Storage Migrations\", \"Managed Databases\"], \"status\": \"ok\", \"resolvers\": {\"ipv4\": \"173.230.145.5,173.230.147.5,173.230.155.5,173.255.212.5,173.255.219.5,173.255.241.5,173.255.243.5,173.255.244.5,74.207.241.5,74.207.242.5\", \"ipv6\": \"2600:3c01::2,2600:3c01::9,2600:3c01::5,2600:3c01::7,2600:3c01::3,2600:3c01::8,2600:3c01::4,2600:3c01::b,2600:3c01::c,2600:3c01::6\"}}, {\"id\": \"us-southeast\", \"label\": \"Atlanta, GA\", \"country\": \"us\", \"capabilities\": [\"Linodes\", \"NodeBalancers\", \"Block Storage\", \"Object Storage\", \"GPU Linodes\", \"Kubernetes\", \"Cloud Firewall\", \"Vlans\", \"Block Storage Migrations\", \"Managed Databases\"], \"status\": \"ok\", \"resolvers\": {\"ipv4\": \"74.207.231.5,173.230.128.5,173.230.129.5,173.230.136.5,173.230.140.5,66.228.59.5,66.228.62.5,50.116.35.5,50.116.41.5,23.239.18.5\", \"ipv6\": \"2600:3c02::3,2600:3c02::5,2600:3c02::4,2600:3c02::6,2600:3c02::c,2600:3c02::7,2600:3c02::2,2600:3c02::9,2600:3c02::8,2600:3c02::b\"}}, {\"id\": \"us-east\", \"label\": \"Newark, NJ\", \"country\": \"us\", \"capabilities\": [\"Linodes\", \"NodeBalancers\", \"Block Storage\", \"Object Storage\", \"GPU Linodes\", \"Kubernetes\", \"Cloud Firewall\", \"Bare Metal\", \"Vlans\", \"Block Storage Migrations\", \"Managed Databases\"], \"status\": \"ok\", \"resolvers\": {\"ipv4\": \"66.228.42.5,96.126.106.5,50.116.53.5,50.116.58.5,50.116.61.5,50.116.62.5,66.175.211.5,97.107.133.4,207.192.69.4,207.192.69.5\", \"ipv6\": \"2600:3c03::7,2600:3c03::4,2600:3c03::9,2600:3c03::6,2600:3c03::3,2600:3c03::c,2600:3c03::5,2600:3c03::b,2600:3c03::2,2600:3c03::8\"}}, {\"id\": \"eu-west\", \"label\": \"London, UK\", \"country\": \"uk\", \"capabilities\": [\"Linodes\", \"NodeBalancers\", \"Block Storage\", \"Kubernetes\", \"Cloud Firewall\", \"Vlans\", \"Block Storage Migrations\", \"Managed Databases\"], \"status\": \"ok\", \"resolvers\": {\"ipv4\": \"178.79.182.5,176.58.107.5,176.58.116.5,176.58.121.5,151.236.220.5,212.71.252.5,212.71.253.5,109.74.192.20,109.74.193.20,109.74.194.20\", \"ipv6\": \"2a01:7e00::9,2a01:7e00::3,2a01:7e00::c,2a01:7e00::5,2a01:7e00::6,2a01:7e00::8,2a01:7e00::b,2a01:7e00::4,2a01:7e00::7,2a01:7e00::2\"}}, {\"id\": \"ap-south\", \"label\": \"Singapore, SG\", \"country\": \"sg\", \"capabilities\": [\"Linodes\", \"NodeBalancers\", \"Block Storage\", \"Object Storage\", \"GPU Linodes\", \"Kubernetes\", \"Cloud Firewall\", \"Vlans\", \"Block Storage Migrations\", \"Managed Databases\"], \"status\": \"ok\", \"resolvers\": {\"ipv4\": \"139.162.11.5,139.162.13.5,139.162.14.5,139.162.15.5,139.162.16.5,139.162.21.5,139.162.27.5,103.3.60.18,103.3.60.19,103.3.60.20\", \"ipv6\": \"2400:8901::5,2400:8901::4,2400:8901::b,2400:8901::3,2400:8901::9,2400:8901::2,2400:8901::8,2400:8901::7,2400:8901::c,2400:8901::6\"}}, {\"id\": \"eu-central\", \"label\": \"Frankfurt, DE\", \"country\": \"de\", \"capabilities\": [\"Linodes\", \"NodeBalancers\", \"Block Storage\", \"Object Storage\", \"GPU Linodes\", \"Kubernetes\", \"Cloud Firewall\", \"Vlans\", \"Block Storage Migrations\", \"Managed Databases\"], \"status\": \"ok\", \"resolvers\": {\"ipv4\": \"139.162.130.5,139.162.131.5,139.162.132.5,139.162.133.5,139.162.134.5,139.162.135.5,139.162.136.5,139.162.137.5,139.162.138.5,139.162.139.5\", \"ipv6\": \"2a01:7e01::5,2a01:7e01::9,2a01:7e01::7,2a01:7e01::c,2a01:7e01::2,2a01:7e01::4,2a01:7e01::3,2a01:7e01::6,2a01:7e01::b,2a01:7e01::8\"}}, {\"id\": \"ap-northeast\", \"label\": \"Tokyo, JP\", \"country\": \"jp\", \"capabilities\": [\"Linodes\", \"NodeBalancers\", \"Block Storage\", \"Kubernetes\", \"Cloud Firewall\", \"Block Storage Migrations\", \"Managed Databases\"], \"status\": \"ok\", \"resolvers\": {\"ipv4\": \"139.162.66.5,139.162.67.5,139.162.68.5,139.162.69.5,139.162.70.5,139.162.71.5,139.162.72.5,139.162.73.5,139.162.74.5,139.162.75.5\", \"ipv6\": \"2400:8902::3,2400:8902::6,2400:8902::c,2400:8902::4,2400:8902::2,2400:8902::8,2400:8902::7,2400:8902::5,2400:8902::b,2400:8902::9\"}}], \"page\": 1, \"pages\": 1, \"results\": 11}"} diff --git a/tests/Fixtures/Saloon/post/linode/instances.json b/tests/Fixtures/Saloon/post/linode/instances.json new file mode 100644 index 0000000..bfba7a2 --- /dev/null +++ b/tests/Fixtures/Saloon/post/linode/instances.json @@ -0,0 +1 @@ +{"statusCode":401,"headers":{"Server":"nginx","Date":"Tue, 04 Jul 2023 08:37:07 GMT","Content-Type":"application\/json","Content-Length":"41","Connection":"keep-alive","X-OAuth-Scopes":"unknown","X-Accepted-OAuth-Scopes":"linodes:read_write","X-Frame-Options":"DENY","Access-Control-Allow-Origin":"*","Access-Control-Allow-Methods":"HEAD, GET, OPTIONS, POST, PUT, DELETE","Access-Control-Allow-Headers":"Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter","X-Spec-Version":"4.157.1"},"data":"{\"errors\": [{\"reason\": \"Invalid Token\"}]}"} \ No newline at end of file diff --git a/tests/Fixtures/Saloon/post/linode/instances/31293947/clone.json b/tests/Fixtures/Saloon/post/linode/instances/31293947/clone.json new file mode 100644 index 0000000..8e5761c --- /dev/null +++ b/tests/Fixtures/Saloon/post/linode/instances/31293947/clone.json @@ -0,0 +1 @@ +{"statusCode":401,"headers":{"Server":"nginx","Date":"Tue, 04 Jul 2023 08:37:08 GMT","Content-Type":"application\/json","Content-Length":"41","Connection":"keep-alive","X-OAuth-Scopes":"unknown","X-Accepted-OAuth-Scopes":"linodes:read_write","X-Frame-Options":"DENY","Access-Control-Allow-Origin":"*","Access-Control-Allow-Methods":"HEAD, GET, OPTIONS, POST, PUT, DELETE","Access-Control-Allow-Headers":"Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter","X-Spec-Version":"4.157.1","X-RateLimit-Limit":"800","X-RateLimit-Remaining":"797","X-RateLimit-Reset":"1688459878","Retry-After":"49"},"data":"{\"errors\": [{\"reason\": \"Invalid Token\"}]}"} \ No newline at end of file diff --git a/tests/Fixtures/Saloon/post/linode/instances/31293947/shutdown.json b/tests/Fixtures/Saloon/post/linode/instances/31293947/shutdown.json new file mode 100644 index 0000000..8cdbda1 --- /dev/null +++ b/tests/Fixtures/Saloon/post/linode/instances/31293947/shutdown.json @@ -0,0 +1 @@ +{"statusCode":401,"headers":{"Server":"nginx","Date":"Tue, 04 Jul 2023 08:37:05 GMT","Content-Type":"application\/json","Content-Length":"41","Connection":"keep-alive","X-OAuth-Scopes":"unknown","X-Accepted-OAuth-Scopes":"linodes:read_write","X-Frame-Options":"DENY","Access-Control-Allow-Origin":"*","Access-Control-Allow-Methods":"HEAD, GET, OPTIONS, POST, PUT, DELETE","Access-Control-Allow-Headers":"Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter","X-Spec-Version":"4.157.1","X-RateLimit-Limit":"800","X-RateLimit-Remaining":"797","X-RateLimit-Reset":"1688459879","Retry-After":"53"},"data":"{\"errors\": [{\"reason\": \"Invalid Token\"}]}"} \ No newline at end of file diff --git a/tests/Fixtures/Saloon/put/linode/instances/31293947.json b/tests/Fixtures/Saloon/put/linode/instances/31293947.json new file mode 100644 index 0000000..57c1f21 --- /dev/null +++ b/tests/Fixtures/Saloon/put/linode/instances/31293947.json @@ -0,0 +1 @@ +{"statusCode":401,"headers":{"Server":"nginx","Date":"Tue, 04 Jul 2023 08:37:12 GMT","Content-Type":"application\/json","Content-Length":"41","Connection":"keep-alive","X-OAuth-Scopes":"unknown","X-Accepted-OAuth-Scopes":"linodes:read_write","X-Frame-Options":"DENY","Access-Control-Allow-Origin":"*","Access-Control-Allow-Methods":"HEAD, GET, OPTIONS, POST, PUT, DELETE","Access-Control-Allow-Headers":"Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter","X-Spec-Version":"4.157.1","X-RateLimit-Limit":"800","X-RateLimit-Remaining":"797","X-RateLimit-Reset":"1688459878","Retry-After":"45"},"data":"{\"errors\": [{\"reason\": \"Invalid Token\"}]}"} \ No newline at end of file diff --git a/tests/Fixtures/get/linode/types.json b/tests/Fixtures/get/linode/types.json index fe7725f..e377719 100644 --- a/tests/Fixtures/get/linode/types.json +++ b/tests/Fixtures/get/linode/types.json @@ -1,31 +1,679 @@ { "data": [ { + "id": "g6-nanode-1", + "label": "Nanode 1GB", + "price": { + "hourly": 0.0075, + "monthly": 5.0 + }, "addons": { "backups": { "price": { - "hourly": 0.008, - "monthly": 5 + "hourly": 0.003, + "monthly": 2.0 } } }, - "class": "standard", - "disk": 81920, + "memory": 1024, + "disk": 25600, + "transfer": 1000, + "vcpus": 1, + "gpus": 0, + "network_out": 1000, + "class": "nanode", + "successor": null + }, + { + "id": "g6-standard-1", + "label": "Linode 2GB", + "price": { + "hourly": 0.018, + "monthly": 12.0 + }, + "addons": { + "backups": { + "price": { + "hourly": 0.004, + "monthly": 2.5 + } + } + }, + "memory": 2048, + "disk": 51200, + "transfer": 2000, + "vcpus": 1, "gpus": 0, + "network_out": 2000, + "class": "standard", + "successor": null + }, + { "id": "g6-standard-2", "label": "Linode 4GB", + "price": { + "hourly": 0.036, + "monthly": 24.0 + }, + "addons": { + "backups": { + "price": { + "hourly": 0.008, + "monthly": 5.0 + } + } + }, "memory": 4096, - "network_out": 1000, + "disk": 81920, + "transfer": 4000, + "vcpus": 2, + "gpus": 0, + "network_out": 4000, + "class": "standard", + "successor": null + }, + { + "id": "g6-standard-4", + "label": "Linode 8GB", + "price": { + "hourly": 0.072, + "monthly": 48.0 + }, + "addons": { + "backups": { + "price": { + "hourly": 0.015, + "monthly": 10.0 + } + } + }, + "memory": 8192, + "disk": 163840, + "transfer": 5000, + "vcpus": 4, + "gpus": 0, + "network_out": 5000, + "class": "standard", + "successor": null + }, + { + "id": "g6-standard-6", + "label": "Linode 16GB", + "price": { + "hourly": 0.144, + "monthly": 96.0 + }, + "addons": { + "backups": { + "price": { + "hourly": 0.03, + "monthly": 20.0 + } + } + }, + "memory": 16384, + "disk": 327680, + "transfer": 8000, + "vcpus": 6, + "gpus": 0, + "network_out": 6000, + "class": "standard", + "successor": null + }, + { + "id": "g6-standard-8", + "label": "Linode 32GB", + "price": { + "hourly": 0.288, + "monthly": 192.0 + }, + "addons": { + "backups": { + "price": { + "hourly": 0.06, + "monthly": 40.0 + } + } + }, + "memory": 32768, + "disk": 655360, + "transfer": 16000, + "vcpus": 8, + "gpus": 0, + "network_out": 7000, + "class": "standard", + "successor": null + }, + { + "id": "g6-standard-16", + "label": "Linode 64GB", + "price": { + "hourly": 0.576, + "monthly": 384.0 + }, + "addons": { + "backups": { + "price": { + "hourly": 0.12, + "monthly": 80.0 + } + } + }, + "memory": 65536, + "disk": 1310720, + "transfer": 20000, + "vcpus": 16, + "gpus": 0, + "network_out": 9000, + "class": "standard", + "successor": null + }, + { + "id": "g6-standard-20", + "label": "Linode 96GB", + "price": { + "hourly": 0.864, + "monthly": 576.0 + }, + "addons": { + "backups": { + "price": { + "hourly": 0.18, + "monthly": 120.0 + } + } + }, + "memory": 98304, + "disk": 1966080, + "transfer": 20000, + "vcpus": 20, + "gpus": 0, + "network_out": 10000, + "class": "standard", + "successor": null + }, + { + "id": "g6-standard-24", + "label": "Linode 128GB", + "price": { + "hourly": 1.152, + "monthly": 768.0 + }, + "addons": { + "backups": { + "price": { + "hourly": 0.24, + "monthly": 160.0 + } + } + }, + "memory": 131072, + "disk": 2621440, + "transfer": 20000, + "vcpus": 24, + "gpus": 0, + "network_out": 11000, + "class": "standard", + "successor": null + }, + { + "id": "g6-standard-32", + "label": "Linode 192GB", + "price": { + "hourly": 1.728, + "monthly": 1152.0 + }, + "addons": { + "backups": { + "price": { + "hourly": 0.36, + "monthly": 240.0 + } + } + }, + "memory": 196608, + "disk": 3932160, + "transfer": 20000, + "vcpus": 32, + "gpus": 0, + "network_out": 12000, + "class": "standard", + "successor": null + }, + { + "id": "g7-highmem-1", + "label": "Linode 24GB", + "price": { + "hourly": 0.09, + "monthly": 60.0 + }, + "addons": { + "backups": { + "price": { + "hourly": 0.0075, + "monthly": 5.0 + } + } + }, + "memory": 24576, + "disk": 20480, + "transfer": 5000, + "vcpus": 2, + "gpus": 0, + "network_out": 5000, + "class": "highmem", + "successor": null + }, + { + "id": "g7-highmem-2", + "label": "Linode 48GB", + "price": { + "hourly": 0.18, + "monthly": 120.0 + }, + "addons": { + "backups": { + "price": { + "hourly": 0.015, + "monthly": 10.0 + } + } + }, + "memory": 49152, + "disk": 40960, + "transfer": 6000, + "vcpus": 2, + "gpus": 0, + "network_out": 6000, + "class": "highmem", + "successor": null + }, + { + "id": "g7-highmem-4", + "label": "Linode 90GB", + "price": { + "hourly": 0.36, + "monthly": 240.0 + }, + "addons": { + "backups": { + "price": { + "hourly": 0.03, + "monthly": 20.0 + } + } + }, + "memory": 92160, + "disk": 92160, + "transfer": 7000, + "vcpus": 4, + "gpus": 0, + "network_out": 7000, + "class": "highmem", + "successor": null + }, + { + "id": "g7-highmem-8", + "label": "Linode 150GB", + "price": { + "hourly": 0.72, + "monthly": 480.0 + }, + "addons": { + "backups": { + "price": { + "hourly": 0.06, + "monthly": 40.0 + } + } + }, + "memory": 153600, + "disk": 204800, + "transfer": 8000, + "vcpus": 8, + "gpus": 0, + "network_out": 8000, + "class": "highmem", + "successor": null + }, + { + "id": "g7-highmem-16", + "label": "Linode 300GB", + "price": { + "hourly": 1.44, + "monthly": 960.0 + }, + "addons": { + "backups": { + "price": { + "hourly": 0.12, + "monthly": 80.0 + } + } + }, + "memory": 307200, + "disk": 348160, + "transfer": 9000, + "vcpus": 16, + "gpus": 0, + "network_out": 9000, + "class": "highmem", + "successor": null + }, + { + "id": "g6-dedicated-2", + "label": "Dedicated 4GB", "price": { - "hourly": 0.03, - "monthly": 20 + "hourly": 0.054, + "monthly": 36.0 + }, + "addons": { + "backups": { + "price": { + "hourly": 0.008, + "monthly": 5.0 + } + } }, - "successor": null, + "memory": 4096, + "disk": 81920, "transfer": 4000, - "vcpus": 2 + "vcpus": 2, + "gpus": 0, + "network_out": 4000, + "class": "dedicated", + "successor": null + }, + { + "id": "g6-dedicated-4", + "label": "Dedicated 8GB", + "price": { + "hourly": 0.108, + "monthly": 72.0 + }, + "addons": { + "backups": { + "price": { + "hourly": 0.015, + "monthly": 10.0 + } + } + }, + "memory": 8192, + "disk": 163840, + "transfer": 5000, + "vcpus": 4, + "gpus": 0, + "network_out": 5000, + "class": "dedicated", + "successor": null + }, + { + "id": "g6-dedicated-8", + "label": "Dedicated 16GB", + "price": { + "hourly": 0.216, + "monthly": 144.0 + }, + "addons": { + "backups": { + "price": { + "hourly": 0.03, + "monthly": 20.0 + } + } + }, + "memory": 16384, + "disk": 327680, + "transfer": 6000, + "vcpus": 8, + "gpus": 0, + "network_out": 6000, + "class": "dedicated", + "successor": null + }, + { + "id": "g6-dedicated-16", + "label": "Dedicated 32GB", + "price": { + "hourly": 0.432, + "monthly": 288.0 + }, + "addons": { + "backups": { + "price": { + "hourly": 0.06, + "monthly": 40.0 + } + } + }, + "memory": 32768, + "disk": 655360, + "transfer": 7000, + "vcpus": 16, + "gpus": 0, + "network_out": 7000, + "class": "dedicated", + "successor": null + }, + { + "id": "g6-dedicated-32", + "label": "Dedicated 64GB", + "price": { + "hourly": 0.864, + "monthly": 576.0 + }, + "addons": { + "backups": { + "price": { + "hourly": 0.12, + "monthly": 80.0 + } + } + }, + "memory": 65536, + "disk": 1310720, + "transfer": 8000, + "vcpus": 32, + "gpus": 0, + "network_out": 8000, + "class": "dedicated", + "successor": null + }, + { + "id": "g6-dedicated-48", + "label": "Dedicated 96GB", + "price": { + "hourly": 1.296, + "monthly": 864.0 + }, + "addons": { + "backups": { + "price": { + "hourly": 0.18, + "monthly": 120.0 + } + } + }, + "memory": 98304, + "disk": 1966080, + "transfer": 9000, + "vcpus": 48, + "gpus": 0, + "network_out": 9000, + "class": "dedicated", + "successor": null + }, + { + "id": "g6-dedicated-50", + "label": "Dedicated 128GB", + "price": { + "hourly": 1.728, + "monthly": 1152.0 + }, + "addons": { + "backups": { + "price": { + "hourly": 0.24, + "monthly": 160.0 + } + } + }, + "memory": 131072, + "disk": 2560000, + "transfer": 10000, + "vcpus": 50, + "gpus": 0, + "network_out": 10000, + "class": "dedicated", + "successor": null + }, + { + "id": "g6-dedicated-56", + "label": "Dedicated 256GB", + "price": { + "hourly": 3.456, + "monthly": 2304.0 + }, + "addons": { + "backups": { + "price": { + "hourly": 0.3, + "monthly": 200.0 + } + } + }, + "memory": 262144, + "disk": 5120000, + "transfer": 11000, + "vcpus": 56, + "gpus": 0, + "network_out": 11000, + "class": "dedicated", + "successor": null + }, + { + "id": "g6-dedicated-64", + "label": "Dedicated 512GB", + "price": { + "hourly": 6.912, + "monthly": 4608.0 + }, + "addons": { + "backups": { + "price": { + "hourly": 0.36, + "monthly": 240.0 + } + } + }, + "memory": 524288, + "disk": 7372800, + "transfer": 12000, + "vcpus": 64, + "gpus": 0, + "network_out": 12000, + "class": "dedicated", + "successor": null + }, + { + "id": "g1-gpu-rtx6000-1", + "label": "Dedicated 32GB + RTX6000 GPU x1", + "price": { + "hourly": 1.5, + "monthly": 1000.0 + }, + "addons": { + "backups": { + "price": { + "hourly": 0.06, + "monthly": 40.0 + } + } + }, + "memory": 32768, + "disk": 655360, + "transfer": 16000, + "vcpus": 8, + "gpus": 1, + "network_out": 10000, + "class": "gpu", + "successor": null + }, + { + "id": "g1-gpu-rtx6000-2", + "label": "Dedicated 64GB + RTX6000 GPU x2", + "price": { + "hourly": 3.0, + "monthly": 2000.0 + }, + "addons": { + "backups": { + "price": { + "hourly": 0.12, + "monthly": 80.0 + } + } + }, + "memory": 65536, + "disk": 1310720, + "transfer": 20000, + "vcpus": 16, + "gpus": 2, + "network_out": 10000, + "class": "gpu", + "successor": null + }, + { + "id": "g1-gpu-rtx6000-3", + "label": "Dedicated 96GB + RTX6000 GPU x3", + "price": { + "hourly": 4.5, + "monthly": 3000.0 + }, + "addons": { + "backups": { + "price": { + "hourly": 0.18, + "monthly": 120.0 + } + } + }, + "memory": 98304, + "disk": 1966080, + "transfer": 20000, + "vcpus": 20, + "gpus": 3, + "network_out": 10000, + "class": "gpu", + "successor": null + }, + { + "id": "g1-gpu-rtx6000-4", + "label": "Dedicated 128GB + RTX6000 GPU x4", + "price": { + "hourly": 6.0, + "monthly": 4000.0 + }, + "addons": { + "backups": { + "price": { + "hourly": 0.24, + "monthly": 160.0 + } + } + }, + "memory": 131072, + "disk": 2621440, + "transfer": 20000, + "vcpus": 24, + "gpus": 4, + "network_out": 10000, + "class": "gpu", + "successor": null } ], "page": 1, "pages": 1, - "results": 1 + "results": 28 } diff --git a/tests/Fixtures/get/regions.json b/tests/Fixtures/get/regions.json index c8f8369..976a08d 100644 --- a/tests/Fixtures/get/regions.json +++ b/tests/Fixtures/get/regions.json @@ -1,22 +1,234 @@ { "data": [ { + "id": "ap-west", + "label": "Mumbai, IN", + "country": "in", "capabilities": [ "Linodes", "NodeBalancers", "Block Storage", - "Object Storage" + "GPU Linodes", + "Kubernetes", + "Cloud Firewall", + "Vlans", + "Block Storage Migrations", + "Managed Databases" ], + "status": "ok", + "resolvers": { + "ipv4": "172.105.34.5,172.105.35.5,172.105.36.5,172.105.37.5,172.105.38.5,172.105.39.5,172.105.40.5,172.105.41.5,172.105.42.5,172.105.43.5", + "ipv6": "2400:8904::f03c:91ff:fea5:659,2400:8904::f03c:91ff:fea5:9282,2400:8904::f03c:91ff:fea5:b9b3,2400:8904::f03c:91ff:fea5:925a,2400:8904::f03c:91ff:fea5:22cb,2400:8904::f03c:91ff:fea5:227a,2400:8904::f03c:91ff:fea5:924c,2400:8904::f03c:91ff:fea5:f7e2,2400:8904::f03c:91ff:fea5:2205,2400:8904::f03c:91ff:fea5:9207" + } + }, + { + "id": "ca-central", + "label": "Toronto, CA", + "country": "ca", + "capabilities": [ + "Linodes", + "NodeBalancers", + "Block Storage", + "Kubernetes", + "Cloud Firewall", + "Vlans", + "Block Storage Migrations", + "Managed Databases" + ], + "status": "ok", + "resolvers": { + "ipv4": "172.105.0.5,172.105.3.5,172.105.4.5,172.105.5.5,172.105.6.5,172.105.7.5,172.105.8.5,172.105.9.5,172.105.10.5,172.105.11.5", + "ipv6": "2600:3c04::f03c:91ff:fea9:f63,2600:3c04::f03c:91ff:fea9:f6d,2600:3c04::f03c:91ff:fea9:f80,2600:3c04::f03c:91ff:fea9:f0f,2600:3c04::f03c:91ff:fea9:f99,2600:3c04::f03c:91ff:fea9:fbd,2600:3c04::f03c:91ff:fea9:fdd,2600:3c04::f03c:91ff:fea9:fe2,2600:3c04::f03c:91ff:fea9:f68,2600:3c04::f03c:91ff:fea9:f4a" + } + }, + { + "id": "ap-southeast", + "label": "Sydney, AU", + "country": "au", + "capabilities": [ + "Linodes", + "NodeBalancers", + "Block Storage", + "Kubernetes", + "Cloud Firewall", + "Vlans", + "Block Storage Migrations", + "Managed Databases" + ], + "status": "ok", + "resolvers": { + "ipv4": "172.105.166.5,172.105.169.5,172.105.168.5,172.105.172.5,172.105.162.5,172.105.170.5,172.105.167.5,172.105.171.5,172.105.181.5,172.105.161.5", + "ipv6": "2400:8907::f03c:92ff:fe6e:ec8,2400:8907::f03c:92ff:fe6e:98e4,2400:8907::f03c:92ff:fe6e:1c58,2400:8907::f03c:92ff:fe6e:c299,2400:8907::f03c:92ff:fe6e:c210,2400:8907::f03c:92ff:fe6e:c219,2400:8907::f03c:92ff:fe6e:1c5c,2400:8907::f03c:92ff:fe6e:c24e,2400:8907::f03c:92ff:fe6e:e6b,2400:8907::f03c:92ff:fe6e:e3d" + } + }, + { + "id": "us-central", + "label": "Dallas, TX", "country": "us", + "capabilities": [ + "Linodes", + "NodeBalancers", + "Block Storage", + "Kubernetes", + "Cloud Firewall", + "Block Storage Migrations", + "Managed Databases" + ], + "status": "ok", + "resolvers": { + "ipv4": "72.14.179.5,72.14.188.5,173.255.199.5,66.228.53.5,96.126.122.5,96.126.124.5,96.126.127.5,198.58.107.5,198.58.111.5,23.239.24.5", + "ipv6": "2600:3c00::2,2600:3c00::9,2600:3c00::7,2600:3c00::5,2600:3c00::3,2600:3c00::8,2600:3c00::6,2600:3c00::4,2600:3c00::c,2600:3c00::b" + } + }, + { + "id": "us-west", + "label": "Fremont, CA", + "country": "us", + "capabilities": [ + "Linodes", + "NodeBalancers", + "Block Storage", + "Kubernetes", + "Cloud Firewall", + "Block Storage Migrations", + "Managed Databases" + ], + "status": "ok", + "resolvers": { + "ipv4": "173.230.145.5,173.230.147.5,173.230.155.5,173.255.212.5,173.255.219.5,173.255.241.5,173.255.243.5,173.255.244.5,74.207.241.5,74.207.242.5", + "ipv6": "2600:3c01::2,2600:3c01::9,2600:3c01::5,2600:3c01::7,2600:3c01::3,2600:3c01::8,2600:3c01::4,2600:3c01::b,2600:3c01::c,2600:3c01::6" + } + }, + { + "id": "us-southeast", + "label": "Atlanta, GA", + "country": "us", + "capabilities": [ + "Linodes", + "NodeBalancers", + "Block Storage", + "Object Storage", + "GPU Linodes", + "Kubernetes", + "Cloud Firewall", + "Vlans", + "Block Storage Migrations", + "Managed Databases" + ], + "status": "ok", + "resolvers": { + "ipv4": "74.207.231.5,173.230.128.5,173.230.129.5,173.230.136.5,173.230.140.5,66.228.59.5,66.228.62.5,50.116.35.5,50.116.41.5,23.239.18.5", + "ipv6": "2600:3c02::3,2600:3c02::5,2600:3c02::4,2600:3c02::6,2600:3c02::c,2600:3c02::7,2600:3c02::2,2600:3c02::9,2600:3c02::8,2600:3c02::b" + } + }, + { "id": "us-east", + "label": "Newark, NJ", + "country": "us", + "capabilities": [ + "Linodes", + "NodeBalancers", + "Block Storage", + "Object Storage", + "GPU Linodes", + "Kubernetes", + "Cloud Firewall", + "Bare Metal", + "Vlans", + "Block Storage Migrations", + "Managed Databases" + ], + "status": "ok", + "resolvers": { + "ipv4": "66.228.42.5,96.126.106.5,50.116.53.5,50.116.58.5,50.116.61.5,50.116.62.5,66.175.211.5,97.107.133.4,207.192.69.4,207.192.69.5", + "ipv6": "2600:3c03::7,2600:3c03::4,2600:3c03::9,2600:3c03::6,2600:3c03::3,2600:3c03::c,2600:3c03::5,2600:3c03::b,2600:3c03::2,2600:3c03::8" + } + }, + { + "id": "eu-west", + "label": "London, UK", + "country": "uk", + "capabilities": [ + "Linodes", + "NodeBalancers", + "Block Storage", + "Kubernetes", + "Cloud Firewall", + "Vlans", + "Block Storage Migrations", + "Managed Databases" + ], + "status": "ok", + "resolvers": { + "ipv4": "178.79.182.5,176.58.107.5,176.58.116.5,176.58.121.5,151.236.220.5,212.71.252.5,212.71.253.5,109.74.192.20,109.74.193.20,109.74.194.20", + "ipv6": "2a01:7e00::9,2a01:7e00::3,2a01:7e00::c,2a01:7e00::5,2a01:7e00::6,2a01:7e00::8,2a01:7e00::b,2a01:7e00::4,2a01:7e00::7,2a01:7e00::2" + } + }, + { + "id": "ap-south", + "label": "Singapore, SG", + "country": "sg", + "capabilities": [ + "Linodes", + "NodeBalancers", + "Block Storage", + "Object Storage", + "GPU Linodes", + "Kubernetes", + "Cloud Firewall", + "Vlans", + "Block Storage Migrations", + "Managed Databases" + ], + "status": "ok", + "resolvers": { + "ipv4": "139.162.11.5,139.162.13.5,139.162.14.5,139.162.15.5,139.162.16.5,139.162.21.5,139.162.27.5,103.3.60.18,103.3.60.19,103.3.60.20", + "ipv6": "2400:8901::5,2400:8901::4,2400:8901::b,2400:8901::3,2400:8901::9,2400:8901::2,2400:8901::8,2400:8901::7,2400:8901::c,2400:8901::6" + } + }, + { + "id": "eu-central", + "label": "Frankfurt, DE", + "country": "de", + "capabilities": [ + "Linodes", + "NodeBalancers", + "Block Storage", + "Object Storage", + "GPU Linodes", + "Kubernetes", + "Cloud Firewall", + "Vlans", + "Block Storage Migrations", + "Managed Databases" + ], + "status": "ok", + "resolvers": { + "ipv4": "139.162.130.5,139.162.131.5,139.162.132.5,139.162.133.5,139.162.134.5,139.162.135.5,139.162.136.5,139.162.137.5,139.162.138.5,139.162.139.5", + "ipv6": "2a01:7e01::5,2a01:7e01::9,2a01:7e01::7,2a01:7e01::c,2a01:7e01::2,2a01:7e01::4,2a01:7e01::3,2a01:7e01::6,2a01:7e01::b,2a01:7e01::8" + } + }, + { + "id": "ap-northeast", + "label": "Tokyo, JP", + "country": "jp", + "capabilities": [ + "Linodes", + "NodeBalancers", + "Block Storage", + "Kubernetes", + "Cloud Firewall", + "Block Storage Migrations", + "Managed Databases" + ], + "status": "ok", "resolvers": { - "ipv4": "192.0.2.0,192.0.2.1", - "ipv6": "2001:0db8::,2001:0db8::1" - }, - "status": "ok" + "ipv4": "139.162.66.5,139.162.67.5,139.162.68.5,139.162.69.5,139.162.70.5,139.162.71.5,139.162.72.5,139.162.73.5,139.162.74.5,139.162.75.5", + "ipv6": "2400:8902::3,2400:8902::6,2400:8902::c,2400:8902::4,2400:8902::2,2400:8902::8,2400:8902::7,2400:8902::5,2400:8902::b,2400:8902::9" + } } ], "page": 1, "pages": 1, - "results": 1 -} + "results": 11 +} \ No newline at end of file