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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 5dafcc9c9950e6860dca3b81be39f5c9a0462bef
4
- data.tar.gz: 3f7f45ba12ec9e0913e435740af627f69b8c0f06
3
+ metadata.gz: bf19bfd75f39dd56df3bf76013af1c23605b4de7
4
+ data.tar.gz: a5912e8687c628ea0daceebc669fdc753bf13870
5
5
  SHA512:
6
- metadata.gz: ac3c75d99618e470f6328ec10693b3e385e14227686de42b00347f6048b6e04e4ceafb525018d3e8a3a3bfd9a0e69194d2f23e0c7a6f79964e06c618c455cc0d
7
- data.tar.gz: 5f7b927077224fbdd045b7ab25127aeb0997e3bcd00e386c19b9f73ddca4d1838e5654cb4285c7c5d13fe17198440c84d6b58e9502a211794350b21d307047d1
6
+ metadata.gz: 1dbc3b33287a73bb4521e5f339441edeef4ca0c157879bca0b6cd9c8be74134f98959411e907e8a7a3bc2f6f5cdf373769e621bdc9d880b6087fd3297d7b0e07
7
+ data.tar.gz: 869ce4c2882bd818883675b752a6b7d903aa28ef34006589b84d11c893b7d34894e2bb6d3f1ac9925cef27ebffa1314783f54460852fbdaaefd90c69fed53138
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- myjohndeere (0.0.4)
4
+ myjohndeere (0.0.5)
5
5
  oauth (>= 0.5.3)
6
6
 
7
7
  GEM
@@ -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)
@@ -1,3 +1,3 @@
1
1
  module MyJohnDeere
2
- VERSION = '0.0.5'
2
+ VERSION = '0.0.6'
3
3
  end
@@ -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/#{MAP_LAYER_ID}"})
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 MAP_LAYER_ID, response.id
74
+ assert_equal FILE_RESOURCE_ID, response.id
46
75
  assert_equal ORGANIZATION_ID, response.organization_id
47
76
  end
48
77
  end
@@ -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)
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: myjohndeere
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.5
4
+ version: 0.0.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Paul Susmarski