gds_zendesk 3.1.0 → 3.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: fa67dd4263a0871478498235472781ed6cdcd7542ec8e4706cab92e00a2e9d13
4
- data.tar.gz: 61563e3f57a552f46d1834da3190fbc594d08eef23bcd82c8d6e6165ed0d2bcc
3
+ metadata.gz: c2ce09664299a6802632a0dc10966d37c4adf67d53efbf2368240a4d96401139
4
+ data.tar.gz: fe832fb5483d5d9363614b984f2d89903742be31175b5839ab9bf515a7164b62
5
5
  SHA512:
6
- metadata.gz: f8cae830c9fbd5df42e35bd91a4bf34176a157285cc99c7a6df435272a224de0ba106613f2fc3dd1235c0f2b75631e5e037240ddb9f534b791b6294c111e3c9e
7
- data.tar.gz: 19db1a96ee36e0beeac2fcbf407a785a2cbda80956325cec9fa4f3b6bb69f4492fc79151d532062219e7a9e8d7984664c125a404de97035a789b66a1c421d634
6
+ metadata.gz: 20a8002750b0376ba9ec27ed501cf91f84372259918cb3aff80571e375bb8a1a81121d303da41cbd6f2ad5f175006871cbda40e43b5d332ff50cf64239fee619
7
+ data.tar.gz: 3d68d792fa0e783e96761d04ca23c17d9b4b96ac71bb5d72e6f2a5a57177eef8fe3ed8466b572feca0dc2383b0163813a13146c331bee3269e77be19b322c49d
@@ -1,3 +1,7 @@
1
+ # 3.2.0
2
+
3
+ * Allow use of a token instead of password
4
+
1
5
  # 3.1.0
2
6
 
3
7
  * Update `zendesk_api` library to v1.27
data/README.md CHANGED
@@ -32,7 +32,7 @@ This generates an initializer at `config/initializers/gds_zendesk.rb`.
32
32
 
33
33
  #### Mandatory settings
34
34
 
35
- This gem needs to be configured with a Zendesk username and password before it can be used.
35
+ This gem needs to be configured with a Zendesk username and password (or token) before it can be used.
36
36
  These are set in `config/initializers/gds_zendesk.rb`
37
37
 
38
38
  #### Enabling development mode
@@ -26,7 +26,8 @@ module GDSZendesk
26
26
  ZendeskAPI::Client.new { |config|
27
27
  config.url = url
28
28
  config.username = username
29
- config.password = password
29
+ config.token = token if token
30
+ config.password = password if password
30
31
  config.logger = logger
31
32
  }
32
33
  end
@@ -38,13 +39,18 @@ module GDSZendesk
38
39
 
39
40
  def check_that_username_and_password_are_provided
40
41
  raise ArgumentError, "Zendesk username not provided" if username.nil?
41
- raise ArgumentError, "Zendesk password not provided" if password.nil?
42
+ raise ArgumentError, "Zendesk password or token not provided" if password.nil? && token.nil?
43
+ raise ArgumentError, "Provide only one of token or password" unless password.nil? || token.nil?
42
44
  end
43
45
 
44
46
  def username
45
47
  @config_options[:username] || @config_options["username"]
46
48
  end
47
49
 
50
+ def token
51
+ @config_options[:token] || @config_options["token"]
52
+ end
53
+
48
54
  def password
49
55
  @config_options[:password] || @config_options["password"]
50
56
  end
@@ -1,3 +1,3 @@
1
1
  module GDSZendesk
2
- VERSION = "3.1.0"
2
+ VERSION = "3.2.0"
3
3
  end
@@ -8,7 +8,7 @@ GDS_ZENDESK_CLIENT = if Rails.env.development? || Rails.env.test?
8
8
  else
9
9
  config_yaml_file = File.join(Rails.root, 'config', 'zendesk.yml')
10
10
  config = YAML.load_file(config_yaml_file)[Rails.env]
11
- GDSZendesk::Client.new(username: config['username'], password: config['password'], logger: Rails.logger)
11
+ GDSZendesk::Client.new(username: config['username'], password: config['password'], token: config['token'], logger: Rails.logger)
12
12
  end
13
13
  END
14
14
 
@@ -20,9 +20,24 @@ module GDSZendesk
20
20
  /username not provided/)
21
21
  end
22
22
 
23
- it "should raise an error if no password is provided" do
23
+ it "should raise an error if no password or token is provided" do
24
24
  expect { Client.new(username: "abc") }.to raise_error(ArgumentError,
25
- /password not provided/)
25
+ /password or token not provided/)
26
+ end
27
+
28
+ it "should raise an error if token and password are provided" do
29
+ expect { Client.new(username: "abc", token: "def", password: "ghi") }.to raise_error(ArgumentError,
30
+ /Provide only one of token or password/)
31
+ end
32
+
33
+ it "should not raise an error if token is provided without password" do
34
+ expect { Client.new(username: "abc", token: "def") }.not_to raise_error(ArgumentError,
35
+ /password or token not provided/)
36
+ end
37
+
38
+ it "should not raise an error if password is provided without token" do
39
+ expect { Client.new(username: "abc", password: "def") }.not_to raise_error(ArgumentError,
40
+ /password or token not provided/)
26
41
  end
27
42
 
28
43
  it "should use a null logger if no logger has been provided" do
@@ -39,6 +54,14 @@ module GDSZendesk
39
54
  expect(client.config_options[:url]).to eq "https://govuk.zendesk.com/api/v2/"
40
55
  end
41
56
 
57
+ it "should use the token if provided" do
58
+ expect(Client.new(username: "test_user", token: "test_token").config_options[:token]).to eq "test_token"
59
+ end
60
+
61
+ it "should use the password if provided" do
62
+ expect(Client.new(username: "test_user", password: "test_password").config_options[:password]).to eq "test_password"
63
+ end
64
+
42
65
  it "should use the configured url if provided" do
43
66
  expect(Client.new(username: "test_user", password: "test_pass", url: "https://example.com").config_options[:url]).to eq "https://example.com"
44
67
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gds_zendesk
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.1.0
4
+ version: 3.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - GOV.UK Dev
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-09-17 00:00:00.000000000 Z
11
+ date: 2020-09-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: null_logger
@@ -125,7 +125,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
125
125
  - !ruby/object:Gem::Version
126
126
  version: '0'
127
127
  requirements: []
128
- rubygems_version: 3.0.3
128
+ rubygems_version: 3.1.2
129
129
  signing_key:
130
130
  specification_version: 4
131
131
  summary: Client and models for communicating with Zendesk