gds_zendesk 3.1.0 → 3.2.0

Sign up to get free protection for your applications and to get access to all the features.
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