gds_zendesk 2.2.0 → 3.1.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
- SHA1:
3
- metadata.gz: e953b3046d16eb42757c645c2d39aa161dee2cd1
4
- data.tar.gz: e9cfdb28cdd23c1417716eb171b04b9ebff7170e
2
+ SHA256:
3
+ metadata.gz: fa67dd4263a0871478498235472781ed6cdcd7542ec8e4706cab92e00a2e9d13
4
+ data.tar.gz: 61563e3f57a552f46d1834da3190fbc594d08eef23bcd82c8d6e6165ed0d2bcc
5
5
  SHA512:
6
- metadata.gz: 46bad7c7e91d7890c37967dd1c13ce84591de97f2a353b380814eca29cd75ceca21bd5bacb16a84bec652d95356488192a202567f2bc394c51db6cd7bbcee8b4
7
- data.tar.gz: 784efe7c47b57437dbb36223b61ce5ac2d53664b6c466f6d805fd9498b76b5a34378b49d342ef53c9cd1efd62931e95536e620589e96dc2e4b481bc5463c2056
6
+ metadata.gz: f8cae830c9fbd5df42e35bd91a4bf34176a157285cc99c7a6df435272a224de0ba106613f2fc3dd1235c0f2b75631e5e037240ddb9f534b791b6294c111e3c9e
7
+ data.tar.gz: 19db1a96ee36e0beeac2fcbf407a785a2cbda80956325cec9fa4f3b6bb69f4492fc79151d532062219e7a9e8d7984664c125a404de97035a789b66a1c421d634
@@ -1 +1 @@
1
- 2.2
1
+ 2.6.6
@@ -1,3 +1,27 @@
1
+ # 3.1.0
2
+
3
+ * Update `zendesk_api` library to v1.27
4
+
5
+ # 3.0.0
6
+
7
+ * Update the `webmock` library to version v2.3.2 to be compatible with Ruby
8
+ 2.4.2
9
+ * Update the `test_helpers` to be compatible with `webmock` v2.3.2
10
+
11
+ # 2.4.0
12
+
13
+ * Update the `zendesk_api` library to v1.14.4 to silence warnings from
14
+ Hashie about setting a key called `class`.
15
+
16
+ # 2.3.1
17
+
18
+ * Patch release as the previous upgrade didn't include the required
19
+ feature due to rapid successive merges.
20
+
21
+ # 2.3.0
22
+
23
+ * Add a test helper to stub Zendesk returning a 302
24
+
1
25
  # 2.2.0
2
26
 
3
27
  * Allow the zendesk URL to be specified in the configuration
@@ -0,0 +1,7 @@
1
+ #!/usr/bin/env groovy
2
+
3
+ library("govuk")
4
+
5
+ node {
6
+ govuk.buildProject()
7
+ }
data/Rakefile CHANGED
@@ -1,14 +1,7 @@
1
1
  require "rake"
2
2
  require "bundler/gem_tasks"
3
3
  require 'rspec/core/rake_task'
4
- require "gem_publisher"
5
4
 
6
5
  RSpec::Core::RakeTask.new(:spec)
7
6
 
8
7
  task :default => :spec
9
-
10
- desc "Publish the gem"
11
- task :publish_gem do |t|
12
- gem = GemPublisher.publish_if_updated("gds_zendesk.gemspec", :rubygems)
13
- puts "Published #{gem}" if gem
14
- end
@@ -6,8 +6,8 @@ require 'gds_zendesk/version'
6
6
  Gem::Specification.new do |gem|
7
7
  gem.name = "gds_zendesk"
8
8
  gem.version = GDSZendesk::VERSION
9
- gem.authors = ["Jake Benilov"]
10
- gem.email = ["benilov@gmail.com"]
9
+ gem.authors = ["GOV.UK Dev"]
10
+ gem.email = ["govuk-dev@digital.cabinet-office.gov.uk"]
11
11
  gem.description = %q{Client and models for communicating with Zendesk}
12
12
  gem.summary = %q{Client and models for communicating with Zendesk}
13
13
  gem.homepage = "https://github.com/alphagov/gds_zendesk"
@@ -17,11 +17,10 @@ Gem::Specification.new do |gem|
17
17
  gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
18
18
  gem.require_paths = ["lib"]
19
19
 
20
- gem.add_dependency 'null_logger', '0.0.1'
21
- gem.add_dependency 'zendesk_api', '1.8.0'
20
+ gem.add_dependency 'null_logger', '~> 0'
21
+ gem.add_dependency 'zendesk_api', '~> 1.27'
22
22
 
23
- gem.add_development_dependency 'rake', '10.0.3'
24
- gem.add_development_dependency 'rspec', '3.1.0'
25
- gem.add_development_dependency 'gem_publisher', '1.2.0'
26
- gem.add_development_dependency "webmock", '1.18.0'
23
+ gem.add_development_dependency 'rake', '~> 10'
24
+ gem.add_development_dependency 'rspec', '~> 3'
25
+ gem.add_development_dependency 'webmock', '~> 2'
27
26
  end
@@ -4,44 +4,54 @@ module GDSZendesk
4
4
  module TestHelpers
5
5
  def zendesk_has_no_user_with_email(email)
6
6
  stub_request(:get, "#{zendesk_endpoint}/users/search?query=#{email}").
7
+ with(basic_auth: basic_auth_credentials).
7
8
  to_return(body: {users: [], previous_page: nil, next_page: nil, count: 0}.to_json,
8
9
  headers: {'Content-Type' => 'application/json'})
9
10
  end
10
11
 
11
12
  def zendesk_has_user(user_details)
12
13
  stub_request(:get, "#{zendesk_endpoint}/users/search?query=#{user_details[:email]}").
14
+ with(basic_auth: basic_auth_credentials).
13
15
  to_return(body: {users: [user_details], previous_page: nil, next_page: nil, count: 1}.to_json,
14
16
  headers: {'Content-Type' => 'application/json'})
15
17
  end
16
18
 
17
19
  def stub_zendesk_user_creation(user_properties = nil)
18
- stub = stub_http_request(:post, "#{zendesk_endpoint}/users")
20
+ stub = stub_request(:post, "#{zendesk_endpoint}/users")
19
21
  stub.with(body: {user: user_properties}) unless user_properties.nil?
22
+ stub.with(basic_auth: basic_auth_credentials)
20
23
  stub.to_return(status: 201, body: { user: { id: 12345, name: "abc" }}.to_json,
21
24
  headers: {'Content-Type' => 'application/json'})
22
25
  end
23
26
 
24
27
  def stub_zendesk_ticket_creation(ticket_properties = nil)
25
- stub = stub_http_request(:post, "#{zendesk_endpoint}/tickets")
28
+ stub = stub_request(:post, "#{zendesk_endpoint}/tickets")
26
29
  stub.with(body: {ticket: ticket_properties}) unless ticket_properties.nil?
30
+ stub.with(basic_auth: basic_auth_credentials)
27
31
  stub.to_return(status: 201, body: { ticket: { id: 12345 }}.to_json,
28
32
  headers: {'Content-Type' => 'application/json'})
29
33
  end
30
34
 
31
35
  def stub_zendesk_ticket_creation_with_body(body)
32
- stub_http_request(:post, "#{zendesk_endpoint}/tickets").
36
+ stub_request(:post, "#{zendesk_endpoint}/tickets").
33
37
  with(body: body).
38
+ with(basic_auth: basic_auth_credentials).
34
39
  to_return(status: 201, body: { ticket: { id: 12345 }}.to_json,
35
40
  headers: {'Content-Type' => 'application/json'})
36
41
  end
37
42
 
38
43
  def stub_zendesk_user_update(user_id, user_properties)
39
- stub_http_request(:put, "#{zendesk_endpoint}/users/#{user_id}").
44
+ stub_request(:put, "#{zendesk_endpoint}/users/#{user_id}").
40
45
  with(body: {user: user_properties}).
46
+ with(basic_auth: basic_auth_credentials).
41
47
  to_return(status: 201, body: { user: { id: 12345, name: "abc" }}.to_json,
42
48
  headers: {'Content-Type' => 'application/json'})
43
49
  end
44
50
 
51
+ def basic_auth_credentials
52
+ [valid_zendesk_credentials['username'], valid_zendesk_credentials['password']]
53
+ end
54
+
45
55
  def zendesk_is_unavailable
46
56
  stub_request(:any, /#{zendesk_endpoint}\/.*/).to_return(status: 503)
47
57
  end
@@ -50,8 +60,12 @@ module GDSZendesk
50
60
  stub_request(:any, /#{zendesk_endpoint}\/.*/).to_return(status: 409)
51
61
  end
52
62
 
63
+ def zendesk_returns_redirect
64
+ stub_request(:any, /#{zendesk_endpoint}\/.*/).to_return(status: 302)
65
+ end
66
+
53
67
  def zendesk_endpoint
54
- "https://#{valid_zendesk_credentials["username"]}:#{valid_zendesk_credentials["password"]}@govuk.zendesk.com/api/v2"
68
+ "https://govuk.zendesk.com/api/v2"
55
69
  end
56
70
 
57
71
  def valid_zendesk_credentials=(credentials)
@@ -1,3 +1,3 @@
1
1
  module GDSZendesk
2
- VERSION = "2.2.0"
2
+ VERSION = "3.1.0"
3
3
  end
@@ -54,7 +54,7 @@ module GDSZendesk
54
54
 
55
55
  it "raises an exception if the ticket creation wasn't successful" do
56
56
  self.valid_zendesk_credentials = valid_credentials
57
- post_stub = stub_http_request(:post, "#{zendesk_endpoint}/tickets").to_return(status: 302)
57
+ post_stub = stub_request(:post, "#{zendesk_endpoint}/tickets").to_return(status: 302)
58
58
 
59
59
  expect { client.ticket.create!(some: "data") }.to raise_error
60
60
  expect(post_stub).to have_been_requested
metadata CHANGED
@@ -1,102 +1,88 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gds_zendesk
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.2.0
4
+ version: 3.1.0
5
5
  platform: ruby
6
6
  authors:
7
- - Jake Benilov
7
+ - GOV.UK Dev
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-06-15 00:00:00.000000000 Z
11
+ date: 2020-09-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: null_logger
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - '='
17
+ - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: 0.0.1
19
+ version: '0'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - '='
24
+ - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: 0.0.1
26
+ version: '0'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: zendesk_api
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - '='
31
+ - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: 1.8.0
33
+ version: '1.27'
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - '='
38
+ - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: 1.8.0
40
+ version: '1.27'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: rake
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - '='
45
+ - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: 10.0.3
47
+ version: '10'
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - '='
52
+ - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: 10.0.3
54
+ version: '10'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: rspec
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - '='
59
+ - - "~>"
60
60
  - !ruby/object:Gem::Version
61
- version: 3.1.0
61
+ version: '3'
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - '='
66
+ - - "~>"
67
67
  - !ruby/object:Gem::Version
68
- version: 3.1.0
69
- - !ruby/object:Gem::Dependency
70
- name: gem_publisher
71
- requirement: !ruby/object:Gem::Requirement
72
- requirements:
73
- - - '='
74
- - !ruby/object:Gem::Version
75
- version: 1.2.0
76
- type: :development
77
- prerelease: false
78
- version_requirements: !ruby/object:Gem::Requirement
79
- requirements:
80
- - - '='
81
- - !ruby/object:Gem::Version
82
- version: 1.2.0
68
+ version: '3'
83
69
  - !ruby/object:Gem::Dependency
84
70
  name: webmock
85
71
  requirement: !ruby/object:Gem::Requirement
86
72
  requirements:
87
- - - '='
73
+ - - "~>"
88
74
  - !ruby/object:Gem::Version
89
- version: 1.18.0
75
+ version: '2'
90
76
  type: :development
91
77
  prerelease: false
92
78
  version_requirements: !ruby/object:Gem::Requirement
93
79
  requirements:
94
- - - '='
80
+ - - "~>"
95
81
  - !ruby/object:Gem::Version
96
- version: 1.18.0
82
+ version: '2'
97
83
  description: Client and models for communicating with Zendesk
98
84
  email:
99
- - benilov@gmail.com
85
+ - govuk-dev@digital.cabinet-office.gov.uk
100
86
  executables: []
101
87
  extensions: []
102
88
  extra_rdoc_files: []
@@ -105,12 +91,11 @@ files:
105
91
  - ".ruby-version"
106
92
  - CHANGELOG.md
107
93
  - Gemfile
94
+ - Jenkinsfile
108
95
  - LICENCE.txt
109
96
  - README.md
110
97
  - Rakefile
111
98
  - gds_zendesk.gemspec
112
- - jenkins.sh
113
- - jenkins_branches.sh
114
99
  - lib/gds_zendesk.rb
115
100
  - lib/gds_zendesk/client.rb
116
101
  - lib/gds_zendesk/dummy_client.rb
@@ -140,8 +125,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
140
125
  - !ruby/object:Gem::Version
141
126
  version: '0'
142
127
  requirements: []
143
- rubyforge_project:
144
- rubygems_version: 2.4.5.1
128
+ rubygems_version: 3.0.3
145
129
  signing_key:
146
130
  specification_version: 4
147
131
  summary: Client and models for communicating with Zendesk
data/jenkins.sh DELETED
@@ -1,6 +0,0 @@
1
- #!/bin/sh
2
- set -e
3
- rm -f Gemfile.lock
4
- bundle install --path "${HOME}/bundles/${JOB_NAME}"
5
- bundle exec rake
6
- bundle exec rake publish_gem
@@ -1,20 +0,0 @@
1
- #!/bin/bash
2
- set -e
3
-
4
- VENV_PATH="${HOME}/venv/${JOB_NAME}"
5
-
6
- [ -x ${VENV_PATH}/bin/pip ] || virtualenv ${VENV_PATH}
7
- . ${VENV_PATH}/bin/activate
8
-
9
- pip install -q ghtools
10
-
11
- REPO="alphagov/gds_zendesk"
12
- gh-status "$REPO" "$GIT_COMMIT" pending -d "\"Build #${BUILD_NUMBER} is running on Jenkins\"" -u "$BUILD_URL" >/dev/null
13
-
14
- if ./jenkins.sh; then
15
- gh-status "$REPO" "$GIT_COMMIT" success -d "\"Build #${BUILD_NUMBER} succeeded on Jenkins\"" -u "$BUILD_URL" >/dev/null
16
- exit 0
17
- else
18
- gh-status "$REPO" "$GIT_COMMIT" failure -d "\"Build #${BUILD_NUMBER} failed on Jenkins\"" -u "$BUILD_URL" >/dev/null
19
- exit 1
20
- fi