From ba810da9be923bc834fd87228589462c8289fe82 Mon Sep 17 00:00:00 2001 From: Ben Tranter Date: Tue, 18 Jul 2023 16:48:05 -0400 Subject: [PATCH 1/3] account: add 'name' field in response --- lib/droplet_kit/mappings/account_mapping.rb | 1 + lib/droplet_kit/models/account.rb | 1 + spec/fixtures/account/info.json | 3 ++- spec/lib/droplet_kit/resources/account_resource_spec.rb | 1 + 4 files changed, 5 insertions(+), 1 deletion(-) diff --git a/lib/droplet_kit/mappings/account_mapping.rb b/lib/droplet_kit/mappings/account_mapping.rb index 75cb07e8..26c1eb4e 100644 --- a/lib/droplet_kit/mappings/account_mapping.rb +++ b/lib/droplet_kit/mappings/account_mapping.rb @@ -11,6 +11,7 @@ class AccountMapping scoped :read do property :droplet_limit property :floating_ip_limit + property :name property :email property :uuid property :email_verified diff --git a/lib/droplet_kit/models/account.rb b/lib/droplet_kit/models/account.rb index 5de2acca..74acddda 100644 --- a/lib/droplet_kit/models/account.rb +++ b/lib/droplet_kit/models/account.rb @@ -4,6 +4,7 @@ module DropletKit class Account < BaseModel attribute :droplet_limit attribute :floating_ip_limit + attribute :name attribute :email attribute :uuid attribute :email_verified diff --git a/spec/fixtures/account/info.json b/spec/fixtures/account/info.json index 01e02e07..b2689167 100644 --- a/spec/fixtures/account/info.json +++ b/spec/fixtures/account/info.json @@ -1,8 +1,9 @@ { "account": { "droplet_limit": 200, + "name": "Sammy the Shark", "email": "droplet_kit@digitalocean.com", "uuid": "alksdjfhlakjdsfh12983712", "email_verified": true } -} \ No newline at end of file +} diff --git a/spec/lib/droplet_kit/resources/account_resource_spec.rb b/spec/lib/droplet_kit/resources/account_resource_spec.rb index 1c812b37..be9e606b 100644 --- a/spec/lib/droplet_kit/resources/account_resource_spec.rb +++ b/spec/lib/droplet_kit/resources/account_resource_spec.rb @@ -20,6 +20,7 @@ expect(account_info.droplet_limit).to eq(parsed['account']['droplet_limit']) expect(account_info.floating_ip_limit).to eq(parsed['account']['floating_ip_limit']) expect(account_info.email).to eq(parsed['account']['email']) + expect(account_info.email).to eq(parsed['account']['email']) expect(account_info.uuid).to eq(parsed['account']['uuid']) expect(account_info.email_verified).to eq(parsed['account']['email_verified']) end From e84aaa90b021d67d1f76324eef42804f35acaf42 Mon Sep 17 00:00:00 2001 From: Ben Tranter Date: Tue, 18 Jul 2023 16:56:10 -0400 Subject: [PATCH 2/3] account: add team field --- lib/droplet_kit/mappings/account_mapping.rb | 15 +++++++++++++++ lib/droplet_kit/models/account.rb | 6 ++++++ spec/fixtures/account/info.json | 8 ++++++-- .../resources/account_resource_spec.rb | 3 ++- 4 files changed, 29 insertions(+), 3 deletions(-) diff --git a/lib/droplet_kit/mappings/account_mapping.rb b/lib/droplet_kit/mappings/account_mapping.rb index 26c1eb4e..05ce95fa 100644 --- a/lib/droplet_kit/mappings/account_mapping.rb +++ b/lib/droplet_kit/mappings/account_mapping.rb @@ -15,6 +15,21 @@ class AccountMapping property :email property :uuid property :email_verified + property :team + end + end + end + + class AccountTeamMapping + include Kartograph::DSL + + kartograph do + root_key singular: 'team', scopes: [:read] + mapping AccountTeam + + scoped :read do + property :uuid + property :name end end end diff --git a/lib/droplet_kit/models/account.rb b/lib/droplet_kit/models/account.rb index 74acddda..5b32fe49 100644 --- a/lib/droplet_kit/models/account.rb +++ b/lib/droplet_kit/models/account.rb @@ -8,5 +8,11 @@ class Account < BaseModel attribute :email attribute :uuid attribute :email_verified + attribute :team + end + + class AccountTeam < BaseModel + attribute :uuid + attribute :name end end diff --git a/spec/fixtures/account/info.json b/spec/fixtures/account/info.json index b2689167..dfa67553 100644 --- a/spec/fixtures/account/info.json +++ b/spec/fixtures/account/info.json @@ -1,9 +1,13 @@ { "account": { "droplet_limit": 200, - "name": "Sammy the Shark", "email": "droplet_kit@digitalocean.com", + "name": "Sammy the Shark", "uuid": "alksdjfhlakjdsfh12983712", - "email_verified": true + "email_verified": true, + "team": { + "uuid": "00000000-0000-4000-00000000000000000", + "name": "My Team" + } } } diff --git a/spec/lib/droplet_kit/resources/account_resource_spec.rb b/spec/lib/droplet_kit/resources/account_resource_spec.rb index be9e606b..8bb4e258 100644 --- a/spec/lib/droplet_kit/resources/account_resource_spec.rb +++ b/spec/lib/droplet_kit/resources/account_resource_spec.rb @@ -20,9 +20,10 @@ expect(account_info.droplet_limit).to eq(parsed['account']['droplet_limit']) expect(account_info.floating_ip_limit).to eq(parsed['account']['floating_ip_limit']) expect(account_info.email).to eq(parsed['account']['email']) - expect(account_info.email).to eq(parsed['account']['email']) + expect(account_info.name).to eq(parsed['account']['name']) expect(account_info.uuid).to eq(parsed['account']['uuid']) expect(account_info.email_verified).to eq(parsed['account']['email_verified']) + expect(account_info.team).to eq(parsed['account']['team']) end it_behaves_like 'resource that handles common errors' do From 560de6c9d873d729bb41849a228dd8b4b5dc6cd7 Mon Sep 17 00:00:00 2001 From: Ben Tranter Date: Tue, 18 Jul 2023 17:01:06 -0400 Subject: [PATCH 3/3] rubocop: disable rules we're not following --- .rubocop.yml | 11 ++++++++++- .../droplet_kit/resources/database_resource_spec.rb | 2 +- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/.rubocop.yml b/.rubocop.yml index e0c008c9..e42d5f8e 100644 --- a/.rubocop.yml +++ b/.rubocop.yml @@ -21,7 +21,16 @@ Gemspec/RequireMFA: Gemspec/RubyVersionGlobalsUsage: Enabled: false +RSpec/IndexedLet: + Enabled: false + +RSpec/MatchArray: + Enabled: false + +Gemspec/DevelopmentDependencies: + Enabled: false + RSpec: Language: Expectations: - - check_droplet \ No newline at end of file + - check_droplet diff --git a/spec/lib/droplet_kit/resources/database_resource_spec.rb b/spec/lib/droplet_kit/resources/database_resource_spec.rb index 41dc0e3c..2e3b8a24 100644 --- a/spec/lib/droplet_kit/resources/database_resource_spec.rb +++ b/spec/lib/droplet_kit/resources/database_resource_spec.rb @@ -42,7 +42,7 @@ expect(database_cluster.db_names).to eq(['defaultdb']) expect(database_cluster.maintenance_window.day).to eq('saturday') expect(database_cluster.maintenance_window.hour).to eq('08:45:12') - expect(database_cluster.maintenance_window.pending).to be(true) # rubocop:disable RSpec/PendingWithoutReason https://github.com/rubocop/rubocop-rspec/pull/1516 + expect(database_cluster.maintenance_window.pending).to be(true) expect(database_cluster.maintenance_window.description.first).to eq('Update TimescaleDB to version 1.2.1') expect(database_cluster.maintenance_window.description.last).to eq('Upgrade to PostgreSQL 11.2 and 10.7 bugfix releases') end