myjohndeere 0.0.5 → 0.0.6

Sign up to get free protection for your applications and to get access to all the features.
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