myjohndeere 0.0.5 → 0.0.6
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 +4 -4
- data/Gemfile.lock +1 -1
- data/lib/myjohndeere/file_resource.rb +2 -0
- data/lib/myjohndeere/json_attributes.rb +8 -0
- data/lib/myjohndeere/version.rb +1 -1
- data/test/test_file_resource.rb +31 -2
- data/test/test_map_layer.rb +13 -0
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: bf19bfd75f39dd56df3bf76013af1c23605b4de7
|
4
|
+
data.tar.gz: a5912e8687c628ea0daceebc669fdc753bf13870
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1dbc3b33287a73bb4521e5f339441edeef4ca0c157879bca0b6cd9c8be74134f98959411e907e8a7a3bc2f6f5cdf373769e621bdc9d880b6087fd3297d7b0e07
|
7
|
+
data.tar.gz: 869ce4c2882bd818883675b752a6b7d903aa28ef34006589b84d11c893b7d34894e2bb6d3f1ac9925cef27ebffa1314783f54460852fbdaaefd90c69fed53138
|
data/Gemfile.lock
CHANGED
@@ -12,6 +12,8 @@ module MyJohnDeere
|
|
12
12
|
def self.create(access_token, organization_id, map_layer_id, file_type: nil,
|
13
13
|
metadata: [])
|
14
14
|
raise ArgumentError.new("You must pass a file_type") if file_type.nil?
|
15
|
+
raise ArgumentError.new("You must pass a valid organization id") if organization_id.nil?
|
16
|
+
raise ArgumentError.new("You must pass a valid map layer id") if map_layer_id.nil?
|
15
17
|
|
16
18
|
case file_type
|
17
19
|
when :png
|
@@ -29,6 +29,14 @@ module MyJohnDeere
|
|
29
29
|
instance_variable_set("@#{attrib.underscore}", val)
|
30
30
|
end
|
31
31
|
end
|
32
|
+
|
33
|
+
def to_s
|
34
|
+
the_hash = {}
|
35
|
+
self.class.json_attributes.each do |attrib|
|
36
|
+
the_hash[attrib] = send(attrib.to_s.underscore)
|
37
|
+
end
|
38
|
+
return "#{self.class}: #{the_hash}"
|
39
|
+
end
|
32
40
|
end
|
33
41
|
|
34
42
|
def self.included(receiver)
|
data/lib/myjohndeere/version.rb
CHANGED
data/test/test_file_resource.rb
CHANGED
@@ -30,19 +30,48 @@ class TestFileResource < Minitest::Test
|
|
30
30
|
assert_equal MyJohnDeere::FileResource, file_resources.data[0].class
|
31
31
|
end
|
32
32
|
|
33
|
+
def test_created_argument_checking
|
34
|
+
assert_raises ArgumentError do
|
35
|
+
MyJohnDeere::FileResource.create(default_access_token,
|
36
|
+
nil,
|
37
|
+
MAP_LAYER_ID,
|
38
|
+
file_type: :zip,
|
39
|
+
metadata: [MyJohnDeere::MetadataItem.new("key", "value")]
|
40
|
+
)
|
41
|
+
end
|
42
|
+
|
43
|
+
assert_raises ArgumentError do
|
44
|
+
MyJohnDeere::FileResource.create(default_access_token,
|
45
|
+
ORGANIZATION_ID,
|
46
|
+
nil,
|
47
|
+
file_type: :zip,
|
48
|
+
metadata: [MyJohnDeere::MetadataItem.new("key", "value")]
|
49
|
+
)
|
50
|
+
end
|
51
|
+
|
52
|
+
assert_raises ArgumentError do
|
53
|
+
MyJohnDeere::FileResource.create(default_access_token,
|
54
|
+
ORGANIZATION_ID,
|
55
|
+
MAP_LAYER_ID,
|
56
|
+
file_type: nil,
|
57
|
+
metadata: [MyJohnDeere::MetadataItem.new("key", "value")]
|
58
|
+
)
|
59
|
+
end
|
60
|
+
end
|
61
|
+
|
33
62
|
def test_create
|
34
63
|
expected_body = "{\"links\":[{\"rel\":\"owningOrganization\",\"uri\":\"https://sandboxapi.deere.com/platform/organizations/1234\"}],\"mimeType\":\"application/zip\",\"metadata\":[{\"key\":\"key\",\"value\":\"value\"}]}"
|
35
64
|
stub_request(:post, /mapLayers\/#{MAP_LAYER_ID}\/fileResources/).
|
36
65
|
with(body: expected_body,
|
37
66
|
headers: {'Accept'=>'application/vnd.deere.axiom.v3+json', 'Content-Length'=>expected_body.length, 'Content-Type'=>'application/vnd.deere.axiom.v3+json'}).
|
38
|
-
to_return(status: 201, headers: {"Location"=>"https://sandboxapi.deere.com/platform/fileResources/#{
|
67
|
+
to_return(status: 201, headers: {"Location"=>"https://sandboxapi.deere.com/platform/fileResources/#{FILE_RESOURCE_ID}"})
|
39
68
|
response = MyJohnDeere::FileResource.create(default_access_token,
|
40
69
|
ORGANIZATION_ID,
|
41
70
|
MAP_LAYER_ID,
|
42
71
|
file_type: :zip,
|
43
72
|
metadata: [MyJohnDeere::MetadataItem.new("key", "value")]
|
44
73
|
)
|
45
|
-
assert_equal
|
74
|
+
assert_equal FILE_RESOURCE_ID, response.id
|
46
75
|
assert_equal ORGANIZATION_ID, response.organization_id
|
47
76
|
end
|
48
77
|
end
|
data/test/test_map_layer.rb
CHANGED
@@ -24,6 +24,19 @@ class TestMapLayer < Minitest::Test
|
|
24
24
|
ml.legends["ranges"][0].to_hash)
|
25
25
|
end
|
26
26
|
|
27
|
+
def test_to_s
|
28
|
+
stub_request(:get, /\/mapLayers\/#{FIXTURE["id"]}/).
|
29
|
+
to_return(status: 200, body: FIXTURE.to_json)
|
30
|
+
|
31
|
+
ml = MyJohnDeere::MapLayer.retrieve(default_access_token, FIXTURE["id"])
|
32
|
+
|
33
|
+
resulting_string = ml.to_s
|
34
|
+
assert resulting_string.include?(MAP_LAYER_ID)
|
35
|
+
assert resulting_string.include?("legends")
|
36
|
+
assert resulting_string.include?("ranges")
|
37
|
+
assert resulting_string.include?("@hex_color=\"#0BA74A\"")
|
38
|
+
end
|
39
|
+
|
27
40
|
def test_list
|
28
41
|
stub_request(:get, /mapLayerSummaries\/#{MLS_ID}\/mapLayers/).
|
29
42
|
to_return(status: 200, body: FIXTURE_FOR_LIST.to_json)
|