egree 0.0.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.gitignore +20 -0
- data/.rspec +3 -0
- data/.travis.yml +13 -0
- data/Gemfile +5 -0
- data/LICENSE.txt +22 -0
- data/README.md +72 -0
- data/Rakefile +1 -0
- data/egree.gemspec +31 -0
- data/lib/egree.rb +8 -0
- data/lib/egree/case.rb +64 -0
- data/lib/egree/client.rb +103 -0
- data/lib/egree/document.rb +45 -0
- data/lib/egree/form_field.rb +3 -0
- data/lib/egree/party.rb +21 -0
- data/lib/egree/reference_id.rb +34 -0
- data/lib/egree/serializers/case.rb +22 -0
- data/lib/egree/serializers/document.rb +21 -0
- data/lib/egree/serializers/form_field.rb +16 -0
- data/lib/egree/serializers/party.rb +17 -0
- data/lib/egree/serializers/reference_id.rb +18 -0
- data/lib/egree/version.rb +3 -0
- data/spec/egree/case_spec.rb +74 -0
- data/spec/egree/client/create_case_spec.rb +62 -0
- data/spec/egree/client/get_case_url_spec.rb +84 -0
- data/spec/egree/client_spec.rb +125 -0
- data/spec/egree/document_spec.rb +73 -0
- data/spec/egree/form_field_spec.rb +18 -0
- data/spec/egree/party_spec.rb +35 -0
- data/spec/egree/reference_id_spec.rb +40 -0
- data/spec/egree/serializers/case_spec.rb +30 -0
- data/spec/egree/serializers/document_spec.rb +45 -0
- data/spec/egree/serializers/form_field_spec.rb +29 -0
- data/spec/egree/serializers/party_spec.rb +34 -0
- data/spec/egree/serializers/reference_id_spec.rb +28 -0
- data/spec/egree_spec.rb +17 -0
- data/spec/fixtures/agreement.pdf +0 -0
- data/spec/fixtures/cassettes/Egree_Client/_create_case/invalid_case.yml +58 -0
- data/spec/fixtures/cassettes/Egree_Client/_create_case/valid_case.yml +67 -0
- data/spec/fixtures/cassettes/Egree_Client/_create_case/with_an_invalid_case/includes_the_error_message.yml +66 -0
- data/spec/fixtures/cassettes/Egree_Client/_get_case_url/case_exists.yml +113 -0
- data/spec/fixtures/cassettes/Egree_Client/_get_case_url/case_missing.yml +45 -0
- data/spec/spec_helper.rb +38 -0
- metadata +219 -0
@@ -0,0 +1,73 @@
|
|
1
|
+
require "spec_helper"
|
2
|
+
require "egree/document"
|
3
|
+
|
4
|
+
module Egree
|
5
|
+
RSpec.describe Document do
|
6
|
+
let :fixture_path do
|
7
|
+
File.join(Dir.pwd, "spec/fixtures/agreement.pdf")
|
8
|
+
end
|
9
|
+
|
10
|
+
describe "with a local file" do
|
11
|
+
let :document do
|
12
|
+
Document.new fixture_path
|
13
|
+
end
|
14
|
+
|
15
|
+
specify "#filename" do
|
16
|
+
expect(document.filename).to eq "agreement.pdf"
|
17
|
+
end
|
18
|
+
|
19
|
+
specify "#size" do
|
20
|
+
expect(document.size).to eq 6925
|
21
|
+
end
|
22
|
+
|
23
|
+
specify "#content_type" do
|
24
|
+
expect(document.content_type).to eq "application/pdf"
|
25
|
+
end
|
26
|
+
|
27
|
+
it "has the file data encoded as base64" do
|
28
|
+
expect(document.data).to eq Base64.encode64(File.open(fixture_path).read)
|
29
|
+
end
|
30
|
+
end
|
31
|
+
|
32
|
+
describe "#with an url" do
|
33
|
+
before do
|
34
|
+
fixture_path = File.join(Dir.pwd, "spec/fixtures/agreement.pdf")
|
35
|
+
|
36
|
+
stub_request(:get, "http://example.com/files/remote_agreement.pdf").to_return({
|
37
|
+
status: 200,
|
38
|
+
body: File.read(fixture_path)
|
39
|
+
})
|
40
|
+
end
|
41
|
+
|
42
|
+
let :document do
|
43
|
+
Document.new "http://example.com/files/remote_agreement.pdf"
|
44
|
+
end
|
45
|
+
|
46
|
+
specify "#filename" do
|
47
|
+
expect(document.filename).to eq "remote_agreement.pdf"
|
48
|
+
end
|
49
|
+
|
50
|
+
specify "#size" do
|
51
|
+
expect(document.size).to eq 6925
|
52
|
+
end
|
53
|
+
|
54
|
+
specify "#content_type" do
|
55
|
+
expect(document.content_type).to eq "application/pdf"
|
56
|
+
end
|
57
|
+
|
58
|
+
it "has the file data encoded as base64" do
|
59
|
+
fixture_path = File.join(Dir.pwd, "spec/fixtures/agreement.pdf")
|
60
|
+
expect(document.data).to eq Base64.encode64(File.open(fixture_path).read)
|
61
|
+
end
|
62
|
+
end
|
63
|
+
|
64
|
+
it "adds form fields" do
|
65
|
+
document = Document.new fixture_path
|
66
|
+
form_field = double "FormField", name: "FieldName", value: "Some Value"
|
67
|
+
|
68
|
+
document.add_form_field form_field
|
69
|
+
|
70
|
+
expect(document.form_fields).to eq [form_field]
|
71
|
+
end
|
72
|
+
end
|
73
|
+
end
|
@@ -0,0 +1,18 @@
|
|
1
|
+
require "spec_helper"
|
2
|
+
require "egree/form_field"
|
3
|
+
|
4
|
+
module Egree
|
5
|
+
RSpec.describe FormField do
|
6
|
+
let :form_field do
|
7
|
+
FormField.new "A name", "Some value"
|
8
|
+
end
|
9
|
+
|
10
|
+
specify "#name" do
|
11
|
+
expect(form_field.name).to eq "A name"
|
12
|
+
end
|
13
|
+
|
14
|
+
specify "#value" do
|
15
|
+
expect(form_field.value).to eq "Some value"
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
@@ -0,0 +1,35 @@
|
|
1
|
+
require "spec_helper"
|
2
|
+
require "egree/party"
|
3
|
+
|
4
|
+
module Egree
|
5
|
+
RSpec.describe Party do
|
6
|
+
describe ".new_with_attributes" do
|
7
|
+
let :party do
|
8
|
+
Party.new_with_attributes({
|
9
|
+
name: "Jane Doe",
|
10
|
+
email: "jane@example.com",
|
11
|
+
social_security_number: "191302275522"
|
12
|
+
})
|
13
|
+
end
|
14
|
+
|
15
|
+
it "sets the name" do
|
16
|
+
expect(party.name).to eq "Jane Doe"
|
17
|
+
end
|
18
|
+
|
19
|
+
it "sets the email address" do
|
20
|
+
expect(party.email).to eq "jane@example.com"
|
21
|
+
end
|
22
|
+
|
23
|
+
it "has a social security number" do
|
24
|
+
expect(party.social_security_number).to eq "191302275522"
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
it "strips unwanted input from social security number" do
|
29
|
+
party = Party.new
|
30
|
+
party.social_security_number = "1913 02 27 - 5522"
|
31
|
+
|
32
|
+
expect(party.social_security_number).to eq "191302275522"
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
@@ -0,0 +1,40 @@
|
|
1
|
+
require "spec_helper"
|
2
|
+
require "egree/reference_id"
|
3
|
+
|
4
|
+
module Egree
|
5
|
+
RSpec.describe ReferenceId do
|
6
|
+
describe ".generate" do
|
7
|
+
it ".returns a new reference id generated with SecureRandom" do
|
8
|
+
expect(SecureRandom).to receive(:uuid).and_return "very-random"
|
9
|
+
|
10
|
+
expect(ReferenceId.generate).to eq ReferenceId.new("very-random")
|
11
|
+
end
|
12
|
+
|
13
|
+
it "stores the id" do
|
14
|
+
expect(ReferenceId.new("123").id).to eq "123"
|
15
|
+
end
|
16
|
+
|
17
|
+
describe "#to_s" do
|
18
|
+
it "returns the id" do
|
19
|
+
expect(ReferenceId.new(123).to_s).to eq "123"
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
23
|
+
describe "#to_json" do
|
24
|
+
it "uses Serializers::ReferenceId" do
|
25
|
+
reference_id = ReferenceId.new 123
|
26
|
+
|
27
|
+
expect(reference_id.to_json).to eq Serializers::ReferenceId.serialize(reference_id)
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
31
|
+
describe "#to_api_hash" do
|
32
|
+
it "delegates to Serializers::ReferenceId" do
|
33
|
+
reference_id = ReferenceId.new 123
|
34
|
+
|
35
|
+
expect(reference_id.to_api_hash).to eq Serializers::ReferenceId.to_api_hash(reference_id)
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
@@ -0,0 +1,30 @@
|
|
1
|
+
require "spec_helper"
|
2
|
+
|
3
|
+
require "egree/case"
|
4
|
+
require "egree/serializers/case"
|
5
|
+
|
6
|
+
module Egree
|
7
|
+
module Serializers
|
8
|
+
RSpec.describe Case do
|
9
|
+
it "serializes the case into the expected format" do
|
10
|
+
party = double "Party"
|
11
|
+
document = double "Document"
|
12
|
+
|
13
|
+
signature_case = Egree::Case.new "Agreement", ["electronicId"]
|
14
|
+
signature_case.add_party party
|
15
|
+
signature_case.add_document document
|
16
|
+
|
17
|
+
expect(Egree::Serializers::Party).to receive(:to_api_hash).with(party).and_return(party: "on")
|
18
|
+
expect(Egree::Serializers::Document).to receive(:to_api_hash).with(document).and_return(document: "on")
|
19
|
+
|
20
|
+
expect(Case.serialize(signature_case)).to eq JSON.pretty_generate({
|
21
|
+
"Name" => "Agreement",
|
22
|
+
"Documents" => [{ document: "on" }],
|
23
|
+
"Parties" => [{ party: "on" }],
|
24
|
+
"AllowedSignatureTypes" => ["electronicId"],
|
25
|
+
"CaseReferenceId" => signature_case.reference_id.to_s
|
26
|
+
})
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
@@ -0,0 +1,45 @@
|
|
1
|
+
require "spec_helper"
|
2
|
+
require "egree/serializers/document"
|
3
|
+
|
4
|
+
module Egree
|
5
|
+
module Serializers
|
6
|
+
RSpec.describe Document do
|
7
|
+
describe ".serialize" do
|
8
|
+
it "returns a json string of the api hash" do
|
9
|
+
document = double "Document"
|
10
|
+
|
11
|
+
expect(Document).to receive(:to_api_hash).with(document).and_return(document: "hash")
|
12
|
+
|
13
|
+
expect(Document.serialize(document)).to eq JSON.pretty_generate(document: "hash")
|
14
|
+
end
|
15
|
+
end
|
16
|
+
|
17
|
+
describe ".to_api_hash" do
|
18
|
+
it "creates a hash that matches the api's expected format" do
|
19
|
+
form_field = double "FormField"
|
20
|
+
|
21
|
+
document = double("Document", {
|
22
|
+
filename: "agreement.pdf",
|
23
|
+
size: 123,
|
24
|
+
data: "encoded-data",
|
25
|
+
content_type: "application/pdf",
|
26
|
+
form_fields: [form_field]
|
27
|
+
})
|
28
|
+
|
29
|
+
expect(Egree::Serializers::FormField).to receive(:to_api_hash).with(form_field).and_return({
|
30
|
+
name: "FieldKey",
|
31
|
+
value: "FieldValue"
|
32
|
+
})
|
33
|
+
|
34
|
+
expect(Document.to_api_hash(document)).to eq({
|
35
|
+
"Filename" => "agreement.pdf",
|
36
|
+
"Data" => "encoded-data",
|
37
|
+
"ContentType" => "application/pdf",
|
38
|
+
"Size" => 123,
|
39
|
+
"FormFields" => [{ name: "FieldKey", value: "FieldValue" }]
|
40
|
+
})
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
45
|
+
end
|
@@ -0,0 +1,29 @@
|
|
1
|
+
require "spec_helper"
|
2
|
+
|
3
|
+
require "egree/serializers/form_field"
|
4
|
+
require "egree/form_field"
|
5
|
+
|
6
|
+
module Egree
|
7
|
+
module Serializers
|
8
|
+
RSpec.describe FormField do
|
9
|
+
describe ".serialize" do
|
10
|
+
it "returns a json string of the api hash" do
|
11
|
+
form_field = double "FormField"
|
12
|
+
|
13
|
+
expect(FormField).to receive(:to_api_hash).with(form_field).and_return(form_field: "hash")
|
14
|
+
|
15
|
+
expect(FormField.serialize(form_field)).to eq JSON.pretty_generate(form_field: "hash")
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
specify ".to_api_hash" do
|
20
|
+
form_field = Egree::FormField.new "The name", "The Value"
|
21
|
+
|
22
|
+
expect(FormField.to_api_hash(form_field)).to eq({
|
23
|
+
"Name" => "The name",
|
24
|
+
"Value" => "The Value"
|
25
|
+
})
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
@@ -0,0 +1,34 @@
|
|
1
|
+
require "spec_helper"
|
2
|
+
require "egree/serializers/party"
|
3
|
+
|
4
|
+
module Egree
|
5
|
+
module Serializers
|
6
|
+
RSpec.describe Party do
|
7
|
+
describe ".serialize" do
|
8
|
+
it "returns a json string of the api hash" do
|
9
|
+
party = double "Party"
|
10
|
+
|
11
|
+
expect(Party).to receive(:to_api_hash).with(party).and_return(party: "hash")
|
12
|
+
|
13
|
+
expect(Party.serialize(party)).to eq JSON.pretty_generate(party: "hash")
|
14
|
+
end
|
15
|
+
end
|
16
|
+
|
17
|
+
describe ".to_api_hash" do
|
18
|
+
it "creates a hash that matches the api's expected format" do
|
19
|
+
party = double("Party", {
|
20
|
+
name: "First Last",
|
21
|
+
email: "first-last@example.com",
|
22
|
+
social_security_number: "1234567890"
|
23
|
+
})
|
24
|
+
|
25
|
+
expect(Party.to_api_hash(party)).to eq({
|
26
|
+
"Name" => "First Last",
|
27
|
+
"EmailAddress" => "first-last@example.com",
|
28
|
+
"SocialSecurityNumber" => "1234567890"
|
29
|
+
})
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
@@ -0,0 +1,28 @@
|
|
1
|
+
require "spec_helper"
|
2
|
+
|
3
|
+
require "egree/serializers/reference_id"
|
4
|
+
require "egree/reference_id"
|
5
|
+
|
6
|
+
module Egree
|
7
|
+
module Serializers
|
8
|
+
RSpec.describe ReferenceId do
|
9
|
+
describe ".serialize" do
|
10
|
+
it "returns a json string of the api hash" do
|
11
|
+
reference_id = double "ReferenceId"
|
12
|
+
|
13
|
+
expect(ReferenceId).to receive(:to_api_hash).with(reference_id).and_return(reference_id: "value")
|
14
|
+
|
15
|
+
expect(ReferenceId.serialize(reference_id)).to eq JSON.pretty_generate(reference_id: "value")
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
specify ".to_api_hash" do
|
20
|
+
reference_id = Egree::ReferenceId.new 123
|
21
|
+
|
22
|
+
expect(ReferenceId.to_api_hash(reference_id)).to eq({
|
23
|
+
"CaseReferenceId" => "123"
|
24
|
+
})
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
data/spec/egree_spec.rb
ADDED
@@ -0,0 +1,17 @@
|
|
1
|
+
require "spec_helper"
|
2
|
+
require "egree"
|
3
|
+
|
4
|
+
RSpec.describe Egree do
|
5
|
+
describe ".client" do
|
6
|
+
it "creates a Egree::Client" do
|
7
|
+
expect(Egree.client("admin", "secret")).to be_kind_of Egree::Client
|
8
|
+
end
|
9
|
+
|
10
|
+
it "passes arguments to the client" do
|
11
|
+
client = Egree.client "admin", "secret"
|
12
|
+
|
13
|
+
expect(client.username).to eq "admin"
|
14
|
+
expect(client.password).to eq "secret"
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
Binary file
|
@@ -0,0 +1,58 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: post
|
5
|
+
uri: https://<EGREE_USERNAME>:<EGREE_PASSWORD>@test.underskrift.se/apiv1/createcasecommand
|
6
|
+
body:
|
7
|
+
encoding: UTF-8
|
8
|
+
string: |-
|
9
|
+
{
|
10
|
+
"Name": "Agreement",
|
11
|
+
"Documents": [
|
12
|
+
|
13
|
+
],
|
14
|
+
"Parties": [
|
15
|
+
|
16
|
+
],
|
17
|
+
"AllowedSignatureTypes": [
|
18
|
+
"touch"
|
19
|
+
],
|
20
|
+
"CaseReferenceId": "4768be74-f444-498b-a113-ef3e60b969e4"
|
21
|
+
}
|
22
|
+
headers:
|
23
|
+
Accept:
|
24
|
+
- application/json
|
25
|
+
User-Agent:
|
26
|
+
- Faraday v0.9.0
|
27
|
+
Content-Type:
|
28
|
+
- application/json; charset=utf-8
|
29
|
+
Accept-Encoding:
|
30
|
+
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
|
31
|
+
response:
|
32
|
+
status:
|
33
|
+
code: 500
|
34
|
+
message: E041 At least one signer is required.
|
35
|
+
headers:
|
36
|
+
Cache-Control:
|
37
|
+
- private, s-maxage=0
|
38
|
+
Content-Type:
|
39
|
+
- text/html; charset=utf-8
|
40
|
+
Server:
|
41
|
+
- Microsoft-IIS/7.5
|
42
|
+
Strict-Transport-Security:
|
43
|
+
- max-age=31536000
|
44
|
+
Set-Cookie:
|
45
|
+
- ASP.NET_SessionId=31ps0gai2zzkk4j3dcfj5is2; path=/; HttpOnly
|
46
|
+
X-Aspnet-Version:
|
47
|
+
- 4.0.30319
|
48
|
+
Date:
|
49
|
+
- Fri, 12 Sep 2014 10:06:24 GMT
|
50
|
+
Content-Length:
|
51
|
+
- '104'
|
52
|
+
body:
|
53
|
+
encoding: UTF-8
|
54
|
+
string: <html><body><h1>500 Internal server error</h1><p>E041 At least one signer
|
55
|
+
is required.</p></body></html>
|
56
|
+
http_version:
|
57
|
+
recorded_at: Fri, 12 Sep 2014 10:06:27 GMT
|
58
|
+
recorded_with: VCR 2.9.2
|
@@ -0,0 +1,67 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: post
|
5
|
+
uri: https://<EGREE_USERNAME>:<EGREE_PASSWORD>@test.underskrift.se/apiv1/createcasecommand
|
6
|
+
body:
|
7
|
+
encoding: UTF-8
|
8
|
+
string: |-
|
9
|
+
{
|
10
|
+
"Name": "Agreement",
|
11
|
+
"Documents": [
|
12
|
+
{
|
13
|
+
"Filename": "agreement.pdf",
|
14
|
+
"Data": "JVBERi0xLjMKJcTl8uXrp/Og0MTGCjQgMCBvYmoKPDwgL0xlbmd0aCA1IDAg\nUiAvRmlsdGVyIC9GbGF0ZURlY29kZSA+PgpzdHJlYW0KeAFFjrEKwkAQRHu/\n4pVaeNlN7nKxVQTbwIIfcMZCoiFJ4e+7YmE1zMxjmJmemVyTYwypjcSk1CnE\nphVlGbjyojqtSlkR1uK0hEPuGunEA2H/t9+ZLJvy5GhOifiEFVR/oGtCBXtS\nmSle3tlehnGceE/LeAs77MHZ/FP/ARUJIsAKZW5kc3RyZWFtCmVuZG9iago1\nIDAgb2JqCjEyOAplbmRvYmoKMiAwIG9iago8PCAvVHlwZSAvUGFnZSAvUGFy\nZW50IDMgMCBSIC9SZXNvdXJjZXMgNiAwIFIgL0NvbnRlbnRzIDQgMCBSIC9N\nZWRpYUJveCBbMCAwIDU5NSA4NDJdCj4+CmVuZG9iago2IDAgb2JqCjw8IC9Q\ncm9jU2V0IFsgL1BERiAvVGV4dCBdIC9Db2xvclNwYWNlIDw8IC9DczEgNyAw\nIFIgPj4gL0ZvbnQgPDwgL1RUMSA4IDAgUgo+PiA+PgplbmRvYmoKOSAwIG9i\nago8PCAvTGVuZ3RoIDEwIDAgUiAvTiAxIC9BbHRlcm5hdGUgL0RldmljZUdy\nYXkgL0ZpbHRlciAvRmxhdGVEZWNvZGUgPj4Kc3RyZWFtCngBhVVdaBxVFD67\nMzt5iUMRbUsrdfCvIaRhUq0mFrXbTbq7Tdium402VarT2dnudCcz453ZtAl9\nCoJvWhDEV0V8Ei2I0GrE5MW+tFSoiRSLICi0WEEQ+iAKfmd2sjsbkcxwZ745\n9zvnnvPdexiivmXD9520RjTnhiJfyc4enz2h9X1HaVKpn3AZZuBny+Upxq7n\nWvzuve6tU4otN/ZxrN65Lb8yNSswwVrB8GqBOUeU0omUYdMXIVHf67CPng19\nxu8DP9CsVnLAnwCrsS8gPZi3XEvYppYXxoJWFl7ddpK5bjXPMba85pwW58rX\nHoz+oDk9ifcgcj5XM8YZPwX8oWlMTAMPAa/74eFKm5NOt5oz2bY9PVQXR2Zi\n+/FGq8B4mCi9tNiovgy8Dfiie6p0LOavmEHuBPBjsN9tWEXeD41I2maHxSow\nfCVdeBXmgyOdrFnjE8DPAi81vUnOYSfwcjA/zXbmf7/YyJWAsZacPmMcLQNv\nB77fcvLMRxx5wA/LHHMUeMp1Srwu6pXftIKoxgHgT8NGtRDz10NRZd9HYP+r\nbh8pAkOHzEMNUWA78skUfCc6T08DL4lWhWt/AviSISbywIiZ+clyZ1hDYEWh\nl1IGWeTRKTxNcukf1B6QTfMR8klgro5vh/JguBgCwwHrNNCvFGKerewfUBM2\n9mVGgGcZQ8T+GtXw1fazMcuII96OfMxN3BziuLRIBnjtle/EPE/eIevykxgH\n5Sn5OXlUHiNNfkE+JD8vj8M6Jh+MfAR8FxC1WwGveAdR25HeoFZPPqvIOYSP\nQz+D40UZBsjgb0RoRsyEGhd2tQZ8/723l8Rrtnn9nT8S6nBtzbjOrj4JXzqW\nVDvSv7ZZ7cwvmduZNTxvZm4lqtEyP2Zu4b7ZU5cXr2ajPhuZbyjL2tvYVa+H\nvbEDm1lZVO5EezKHall93lFWn5VsAYd41mF1aV8y4pXzyzs7vAXS1uRLr97o\nv3L+fzVhfVhnixKq1N0Lu3z/5MespvVW6V6Jlob0i/pd/SP9B/13fU3/AOg3\n6V3pC+lr6bL0pXSVNGlFWpW+kb6VPpO+wtfnsK5Kl5Fb8tS1T1nn9CDT9jk0\n4xPG9fApDogVYDbXz9YNpc5grpspn+3NK7DO3RPdWUs9rO5WH1XH1YfVx9Up\ndVA9oB5Sd6j7MUbUgroXM7s7KnFPsdY23mW8N/rOptlIq/aOcFYNqCeQpYG7\nmxf3qN2Jhjip+6AzR+tyeI12d9uIosXd66FjDZpBxTadjbQL8O3gG7v5H2/u\nSWSXegUny5b3yCNyMe7BrHwAXTjZ04+j3KXKhDKuZElTBpUxZUQ5yjiqlTtU\nU/ZidgzPiWT2iJ7g9CiCv09oncN/iyjn+QvCPt0Itf26/oyWxW/S0oquOTyk\nGY6jRVOBJqzAEvNWbZj4H8x+RH++GP1bU9uvmi0x37ZRKnWN6F/6uod7CmVu\nZHN0cmVhbQplbmRvYmoKMTAgMCBvYmoKMTA4OAplbmRvYmoKNyAwIG9iagpb\nIC9JQ0NCYXNlZCA5IDAgUiBdCmVuZG9iagozIDAgb2JqCjw8IC9UeXBlIC9Q\nYWdlcyAvTWVkaWFCb3ggWzAgMCA1OTUgODQyXSAvQ291bnQgMSAvS2lkcyBb\nIDIgMCBSIF0gPj4KZW5kb2JqCjExIDAgb2JqCjw8IC9UeXBlIC9DYXRhbG9n\nIC9QYWdlcyAzIDAgUiA+PgplbmRvYmoKOCAwIG9iago8PCAvVHlwZSAvRm9u\ndCAvU3VidHlwZSAvVHJ1ZVR5cGUgL0Jhc2VGb250IC9IVk5QREcrTWVubG8t\nUmVndWxhciAvRm9udERlc2NyaXB0b3IKMTIgMCBSIC9FbmNvZGluZyAvTWFj\nUm9tYW5FbmNvZGluZyAvRmlyc3RDaGFyIDMyIC9MYXN0Q2hhciAxMTkgL1dp\nZHRocyBbIDYwMgowIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDYwMiAwIDAg\nMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwCjAgMCAw\nIDYwMiAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAg\nMCAwIDAgMCAwIDAgMCA2MDIgNjAyIDAKMCAwIDAgMCAwIDYwMiAwIDAgNjAy\nIDAgMCA2MDIgMCAwIDAgMCA2MDIgXSA+PgplbmRvYmoKMTIgMCBvYmoKPDwg\nL1R5cGUgL0ZvbnREZXNjcmlwdG9yIC9Gb250TmFtZSAvSFZOUERHK01lbmxv\nLVJlZ3VsYXIgL0ZsYWdzIDMzIC9Gb250QkJveApbLTU1OCAtMzc1IDcxOCAx\nMDQxXSAvSXRhbGljQW5nbGUgMCAvQXNjZW50IDkyOCAvRGVzY2VudCAtMjM2\nIC9DYXBIZWlnaHQgNzI5Ci9TdGVtViA5OSAvWEhlaWdodCA1NDcgL1N0ZW1I\nIDgzIC9BdmdXaWR0aCA2MDIgL01heFdpZHRoIDYwMiAvRm9udEZpbGUyIDEz\nIDAgUgo+PgplbmRvYmoKMTMgMCBvYmoKPDwgL0xlbmd0aCAxNCAwIFIgL0xl\nbmd0aDEgNDg3NiAvRmlsdGVyIC9GbGF0ZURlY29kZSA+PgpzdHJlYW0KeAHd\nOH18VNWV577z7nxn5r3JTL4hM4wTgWSSkAgYRBhCAolUjKAyg40GSGJAQigf\nIsaQbNlUEoKBLURAWlkXrbKuO6UUBwIxK9hig6sIQQRaS9W6samlFoIN5Kbn\nvYluf+6vv1//7b4393zdc8/Xve+9e2fNqrVVYIMmQAguqV20EvTLdpXQySWP\nrfHEeNPjAFJe9cpHamO85RXi0x9Zvr46xsedBZDP11QtqozxcJPwpBoSxHh2\n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\nmmVr63UZ5bSR/KpwD3k1WhFUfMbeZX7DaDEYwORUzp7o1yacvJ49pRaoBblB\nvwIKU1QPeJhHzYVclq/kqkEIsplKUC2DMlamlKnOcqbX202LL989jdHCSJQ3\n3vFE6SuHDh/Ofn1j0WOTcH32+POnhs7IFRfXNY65RauD9h8DvZHkCrAxNVhs\nlVCymC20V7VYLTKXzZzLhkSjycgTZW4yGaVEpD8sbCwRbIUWLqEJDfCG1WSz\nWsym2NfPaoScU4kFlMDUq1NPqIkFufQKNPLfGxXTSNNo/hbxI42/FR5zwGFh\nUB5ss5plazqks1FSCqbJtKM3p1pSrOk2epGwcVIGH2cYZ/SZsmwF0iReYCgw\n5pum2opNpeZZ1rtsD5hC5gXWsK1aWorV8lK+zFxlfUx6gj9uetK8yhpwWJKl\ndEwno+mWdEumlMmnSdP4VEuJJWxZJi3lNZZ6qRHXy43yE/xJS6MlqZyVq/mp\nTPsxn5X5Dh3f+4Pnjx8Sg5GfHIjQol4nFQ51YcuNvVL10G6tjCNv4eENtMsa\nqawm/vqyEEWzTf/3zIYSuAfmwf26pqbrjM0EPWG0mSh5YG5Z0ezMu6tWLK8L\nzKt6ZO3yRasA/gJU/qmjCmVuZHN0cmVhbQplbmRvYmoKMTQgMCBvYmoKMzM0\nOAplbmRvYmoKMTUgMCBvYmoKKGFncmVlbWVudCkKZW5kb2JqCjE2IDAgb2Jq\nCihNYWMgT1MgWCAxMC45LjQgUXVhcnR6IFBERkNvbnRleHQpCmVuZG9iagox\nNyAwIG9iagooKQplbmRvYmoKMTggMCBvYmoKKCkKZW5kb2JqCjE5IDAgb2Jq\nCihUZXh0RWRpdCkKZW5kb2JqCjIwIDAgb2JqCihEOjIwMTQwODMxMTkyNzI0\nWjAwJzAwJykKZW5kb2JqCjIxIDAgb2JqCigpCmVuZG9iagoyMiAwIG9iagpb\nICgpIF0KZW5kb2JqCjEgMCBvYmoKPDwgL1RpdGxlIDE1IDAgUiAvQXV0aG9y\nIDE3IDAgUiAvU3ViamVjdCAxOCAwIFIgL1Byb2R1Y2VyIDE2IDAgUiAvQ3Jl\nYXRvcgoxOSAwIFIgL0NyZWF0aW9uRGF0ZSAyMCAwIFIgL01vZERhdGUgMjAg\nMCBSIC9LZXl3b3JkcyAyMSAwIFIgL0FBUEw6S2V5d29yZHMKMjIgMCBSID4+\nCmVuZG9iagp4cmVmCjAgMjMKMDAwMDAwMDAwMCA2NTUzNSBmIAowMDAwMDA2\nMTMzIDAwMDAwIG4gCjAwMDAwMDAyNDMgMDAwMDAgbiAKMDAwMDAwMTY5MSAw\nMDAwMCBuIAowMDAwMDAwMDIyIDAwMDAwIG4gCjAwMDAwMDAyMjQgMDAwMDAg\nbiAKMDAwMDAwMDM0NyAwMDAwMCBuIAowMDAwMDAxNjU2IDAwMDAwIG4gCjAw\nMDAwMDE4MjQgMDAwMDAgbiAKMDAwMDAwMDQ0NCAwMDAwMCBuIAowMDAwMDAx\nNjM1IDAwMDAwIG4gCjAwMDAwMDE3NzQgMDAwMDAgbiAKMDAwMDAwMjE5MyAw\nMDAwMCBuIAowMDAwMDAyNDQ1IDAwMDAwIG4gCjAwMDAwMDU4ODMgMDAwMDAg\nbiAKMDAwMDAwNTkwNCAwMDAwMCBuIAowMDAwMDA1OTMyIDAwMDAwIG4gCjAw\nMDAwMDU5ODQgMDAwMDAgbiAKMDAwMDAwNjAwMyAwMDAwMCBuIAowMDAwMDA2\nMDIyIDAwMDAwIG4gCjAwMDAwMDYwNDkgMDAwMDAgbiAKMDAwMDAwNjA5MSAw\nMDAwMCBuIAowMDAwMDA2MTEwIDAwMDAwIG4gCnRyYWlsZXIKPDwgL1NpemUg\nMjMgL1Jvb3QgMTEgMCBSIC9JbmZvIDEgMCBSIC9JRCBbIDwwYzY4NDVjYjUx\nMTNiMDc0NzIyNGVhZGE2ZjA5NjAyND4KPDBjNjg0NWNiNTExM2IwNzQ3MjI0\nZWFkYTZmMDk2MDI0PiBdID4+CnN0YXJ0eHJlZgo2MzA4CiUlRU9GCg==\n",
|
15
|
+
"ContentType": "application/pdf",
|
16
|
+
"Size": 6925,
|
17
|
+
"FormFields": [
|
18
|
+
|
19
|
+
]
|
20
|
+
}
|
21
|
+
],
|
22
|
+
"Parties": [
|
23
|
+
{
|
24
|
+
"Name": "First Last",
|
25
|
+
"EmailAddress": "name@example.com",
|
26
|
+
"SocialSecurityNumber": "4503089239"
|
27
|
+
}
|
28
|
+
],
|
29
|
+
"AllowedSignatureTypes": [
|
30
|
+
"touch"
|
31
|
+
],
|
32
|
+
"CaseReferenceId": "6c99f997-6115-4524-af93-791fe4e626dd"
|
33
|
+
}
|
34
|
+
headers:
|
35
|
+
Accept:
|
36
|
+
- application/json
|
37
|
+
User-Agent:
|
38
|
+
- Faraday v0.9.0
|
39
|
+
Content-Type:
|
40
|
+
- application/json; charset=utf-8
|
41
|
+
Accept-Encoding:
|
42
|
+
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
|
43
|
+
response:
|
44
|
+
status:
|
45
|
+
code: 200
|
46
|
+
message: OK
|
47
|
+
headers:
|
48
|
+
Cache-Control:
|
49
|
+
- private, s-maxage=0
|
50
|
+
Server:
|
51
|
+
- Microsoft-IIS/7.5
|
52
|
+
Strict-Transport-Security:
|
53
|
+
- max-age=31536000
|
54
|
+
Set-Cookie:
|
55
|
+
- ASP.NET_SessionId=ondwcvli0qi5bildy5olrlvh; path=/; HttpOnly
|
56
|
+
X-Aspnet-Version:
|
57
|
+
- 4.0.30319
|
58
|
+
Date:
|
59
|
+
- Fri, 12 Sep 2014 10:06:24 GMT
|
60
|
+
Content-Length:
|
61
|
+
- '0'
|
62
|
+
body:
|
63
|
+
encoding: UTF-8
|
64
|
+
string: ''
|
65
|
+
http_version:
|
66
|
+
recorded_at: Fri, 12 Sep 2014 10:06:26 GMT
|
67
|
+
recorded_with: VCR 2.9.2
|