creditsafe 0.6.0 → 0.7.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/.circleci/config.yml +66 -17
- data/.github/dependabot.yml +17 -0
- data/.gitignore +4 -2
- data/.rspec +1 -1
- data/.rubocop.yml +18 -11
- data/.ruby-version +1 -1
- data/CHANGELOG.md +64 -45
- data/Gemfile +5 -5
- data/LICENSE.txt +22 -22
- data/README.md +175 -175
- data/creditsafe.gemspec +35 -35
- data/data/creditsafe-live.xml +342 -342
- data/data/creditsafe-test.xml +342 -342
- data/lib/creditsafe/client.rb +165 -158
- data/lib/creditsafe/{constants.rb → country.rb} +49 -49
- data/lib/creditsafe/errors.rb +23 -16
- data/lib/creditsafe/match_type.rb +115 -115
- data/lib/creditsafe/messages.rb +98 -97
- data/lib/creditsafe/namespace.rb +20 -20
- data/lib/creditsafe/request/company_report.rb +42 -42
- data/lib/creditsafe/request/find_company.rb +118 -120
- data/lib/creditsafe/version.rb +5 -5
- data/lib/creditsafe.rb +4 -4
- data/spec/creditsafe/client_spec.rb +431 -423
- data/spec/creditsafe/messages_spec.rb +76 -76
- data/spec/fixtures/company-report-not-found.xml +13 -13
- data/spec/fixtures/company-report-request.xml +1 -1
- data/spec/fixtures/company-report-successful.xml +582 -582
- data/spec/fixtures/error-fault.xml +8 -8
- data/spec/fixtures/error-invalid-credentials.html +31 -31
- data/spec/fixtures/find-companies-error-no-text.xml +11 -11
- data/spec/fixtures/find-companies-error.xml +11 -11
- data/spec/fixtures/find-companies-none-found.xml +13 -13
- data/spec/fixtures/find-companies-request.xml +1 -1
- data/spec/fixtures/find-companies-successful-multi.xml +493 -493
- data/spec/fixtures/find-companies-successful.xml +29 -29
- data/spec/spec_helper.rb +14 -14
- metadata +46 -46
- data/Gemfile.lock +0 -129
@@ -1,76 +1,76 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require "spec_helper"
|
4
|
-
require "creditsafe/messages"
|
5
|
-
|
6
|
-
RSpec.describe(Creditsafe::Messages) do
|
7
|
-
describe ".for_code" do
|
8
|
-
subject(:message) { described_class.for_code(code) }
|
9
|
-
|
10
|
-
context "for a valid code" do
|
11
|
-
let(:code) { "020101" }
|
12
|
-
|
13
|
-
its(:code) { is_expected.to eq(code) }
|
14
|
-
its(:message) { is_expected.to eq("Invalid credentials") }
|
15
|
-
its(:error_class) { is_expected.to eq(Creditsafe::AccountError) }
|
16
|
-
end
|
17
|
-
|
18
|
-
context "for a code without leading zero" do
|
19
|
-
let(:code) { "20101" }
|
20
|
-
|
21
|
-
its(:code) { is_expected.to eq("0#{code}") }
|
22
|
-
its(:message) { is_expected.to eq("Invalid credentials") }
|
23
|
-
its(:error_class) { is_expected.to eq(Creditsafe::AccountError) }
|
24
|
-
end
|
25
|
-
|
26
|
-
context "for an unknown code" do
|
27
|
-
let(:code) { "999999" }
|
28
|
-
|
29
|
-
its(:code) { is_expected.to eq(code) }
|
30
|
-
its(:message) { is_expected.to eq("Unknown error") }
|
31
|
-
its(:error_class) { is_expected.to eq(Creditsafe::UnknownApiError) }
|
32
|
-
end
|
33
|
-
|
34
|
-
context "for an empty code" do
|
35
|
-
let(:code) { "" }
|
36
|
-
|
37
|
-
it "was passed the wrong parameters" do
|
38
|
-
expect { subject(:message) }.to raise_error(ArgumentError)
|
39
|
-
end
|
40
|
-
end
|
41
|
-
end
|
42
|
-
|
43
|
-
describe(Creditsafe::Messages::Message) do
|
44
|
-
subject(:message) { described_class.new(code: code, message: text, error: error) }
|
45
|
-
|
46
|
-
let(:text) { "Error message" }
|
47
|
-
let(:code) { "020101" }
|
48
|
-
let(:error) { true }
|
49
|
-
|
50
|
-
describe "#error_class" do
|
51
|
-
subject { message.error_class }
|
52
|
-
|
53
|
-
context "when there is no error" do
|
54
|
-
let(:error) { false }
|
55
|
-
|
56
|
-
it { is_expected.to be_nil }
|
57
|
-
end
|
58
|
-
|
59
|
-
context "when there is an error" do
|
60
|
-
let(:error) { true }
|
61
|
-
|
62
|
-
context "for a processing error code" do
|
63
|
-
let(:code) { "040102" }
|
64
|
-
|
65
|
-
it { is_expected.to eq(Creditsafe::ProcessingError) }
|
66
|
-
end
|
67
|
-
|
68
|
-
context "for an unknown error code" do
|
69
|
-
let(:code) { "060102" }
|
70
|
-
|
71
|
-
it { is_expected.to eq(Creditsafe::UnknownApiError) }
|
72
|
-
end
|
73
|
-
end
|
74
|
-
end
|
75
|
-
end
|
76
|
-
end
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "spec_helper"
|
4
|
+
require "creditsafe/messages"
|
5
|
+
|
6
|
+
RSpec.describe(Creditsafe::Messages) do
|
7
|
+
describe ".for_code" do
|
8
|
+
subject(:message) { described_class.for_code(code) }
|
9
|
+
|
10
|
+
context "for a valid code" do
|
11
|
+
let(:code) { "020101" }
|
12
|
+
|
13
|
+
its(:code) { is_expected.to eq(code) }
|
14
|
+
its(:message) { is_expected.to eq("Invalid credentials") }
|
15
|
+
its(:error_class) { is_expected.to eq(Creditsafe::AccountError) }
|
16
|
+
end
|
17
|
+
|
18
|
+
context "for a code without leading zero" do
|
19
|
+
let(:code) { "20101" }
|
20
|
+
|
21
|
+
its(:code) { is_expected.to eq("0#{code}") }
|
22
|
+
its(:message) { is_expected.to eq("Invalid credentials") }
|
23
|
+
its(:error_class) { is_expected.to eq(Creditsafe::AccountError) }
|
24
|
+
end
|
25
|
+
|
26
|
+
context "for an unknown code" do
|
27
|
+
let(:code) { "999999" }
|
28
|
+
|
29
|
+
its(:code) { is_expected.to eq(code) }
|
30
|
+
its(:message) { is_expected.to eq("Unknown error") }
|
31
|
+
its(:error_class) { is_expected.to eq(Creditsafe::UnknownApiError) }
|
32
|
+
end
|
33
|
+
|
34
|
+
context "for an empty code" do
|
35
|
+
let(:code) { "" }
|
36
|
+
|
37
|
+
it "was passed the wrong parameters" do
|
38
|
+
expect { subject(:message) }.to raise_error(ArgumentError)
|
39
|
+
end
|
40
|
+
end
|
41
|
+
end
|
42
|
+
|
43
|
+
describe(Creditsafe::Messages::Message) do
|
44
|
+
subject(:message) { described_class.new(code: code, message: text, error: error) }
|
45
|
+
|
46
|
+
let(:text) { "Error message" }
|
47
|
+
let(:code) { "020101" }
|
48
|
+
let(:error) { true }
|
49
|
+
|
50
|
+
describe "#error_class" do
|
51
|
+
subject { message.error_class }
|
52
|
+
|
53
|
+
context "when there is no error" do
|
54
|
+
let(:error) { false }
|
55
|
+
|
56
|
+
it { is_expected.to be_nil }
|
57
|
+
end
|
58
|
+
|
59
|
+
context "when there is an error" do
|
60
|
+
let(:error) { true }
|
61
|
+
|
62
|
+
context "for a processing error code" do
|
63
|
+
let(:code) { "040102" }
|
64
|
+
|
65
|
+
it { is_expected.to eq(Creditsafe::ProcessingError) }
|
66
|
+
end
|
67
|
+
|
68
|
+
context "for an unknown error code" do
|
69
|
+
let(:code) { "060102" }
|
70
|
+
|
71
|
+
it { is_expected.to eq(Creditsafe::UnknownApiError) }
|
72
|
+
end
|
73
|
+
end
|
74
|
+
end
|
75
|
+
end
|
76
|
+
end
|
@@ -1,13 +1,13 @@
|
|
1
|
-
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
|
2
|
-
<s:Body>
|
3
|
-
<RetrieveCompanyOnlineReportResponse xmlns="http://www.creditsafe.com/globaldata/operations">
|
4
|
-
<RetrieveCompanyOnlineReportResult xmlns:q1="http://www.creditsafe.com/globaldata/datatypes/reports">
|
5
|
-
<Messages xmlns="http://www.creditsafe.com/globaldata/datatypes">
|
6
|
-
<Message Type="Information" Code="20103">Service access contract expires on 2015-07-07 00:00 (UTC). Please contact your account manager regarding access extension.</Message>
|
7
|
-
<Message Type="Information" Code="10101">Company number [074958955]" not found</Message>
|
8
|
-
<Message Type="Information" Code="10103">Specified report is unavailable.</Message>
|
9
|
-
</Messages>
|
10
|
-
</RetrieveCompanyOnlineReportResult>
|
11
|
-
</RetrieveCompanyOnlineReportResponse>
|
12
|
-
</s:Body>
|
13
|
-
</s:Envelope>
|
1
|
+
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
|
2
|
+
<s:Body>
|
3
|
+
<RetrieveCompanyOnlineReportResponse xmlns="http://www.creditsafe.com/globaldata/operations">
|
4
|
+
<RetrieveCompanyOnlineReportResult xmlns:q1="http://www.creditsafe.com/globaldata/datatypes/reports">
|
5
|
+
<Messages xmlns="http://www.creditsafe.com/globaldata/datatypes">
|
6
|
+
<Message Type="Information" Code="20103">Service access contract expires on 2015-07-07 00:00 (UTC). Please contact your account manager regarding access extension.</Message>
|
7
|
+
<Message Type="Information" Code="10101">Company number [074958955]" not found</Message>
|
8
|
+
<Message Type="Information" Code="10103">Specified report is unavailable.</Message>
|
9
|
+
</Messages>
|
10
|
+
</RetrieveCompanyOnlineReportResult>
|
11
|
+
</RetrieveCompanyOnlineReportResponse>
|
12
|
+
</s:Body>
|
13
|
+
</s:Envelope>
|
@@ -1 +1 @@
|
|
1
|
-
<?xml version="1.0" encoding="UTF-8"?><soapenv:Envelope xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:oper="http://www.creditsafe.com/globaldata/operations" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:dat="http://www.creditsafe.com/globaldata/datatypes" xmlns:cred="http://schemas.datacontract.org/2004/07/Creditsafe.GlobalData"><soapenv:Body><oper:RetrieveCompanyOnlineReport><oper:companyId>GB003/0/07495895</oper:companyId><oper:reportType>Full</oper:reportType><oper:language>EN</oper:language><oper:customData><dat:Entries><dat:Entry key="foo">bar</dat:Entry><dat:Entry key="bar">baz</dat:Entry></dat:Entries></oper:customData></oper:RetrieveCompanyOnlineReport></soapenv:Body></soapenv:Envelope>
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?><soapenv:Envelope xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:oper="http://www.creditsafe.com/globaldata/operations" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:dat="http://www.creditsafe.com/globaldata/datatypes" xmlns:cred="http://schemas.datacontract.org/2004/07/Creditsafe.GlobalData"><soapenv:Body><oper:RetrieveCompanyOnlineReport><oper:companyId>GB003/0/07495895</oper:companyId><oper:reportType>Full</oper:reportType><oper:language>EN</oper:language><oper:customData><dat:Entries><dat:Entry key="foo">bar</dat:Entry><dat:Entry key="bar">baz</dat:Entry></dat:Entries></oper:customData></oper:RetrieveCompanyOnlineReport></soapenv:Body></soapenv:Envelope>
|