megam_api 0.96 → 0.97
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/megam/api.rb +12 -5
- data/lib/megam/api/accounts.rb +21 -1
- data/lib/megam/api/version.rb +1 -1
- data/lib/megam/core/account.rb +18 -8
- data/lib/megam/core/marketplace.rb +2 -2
- data/test/test_accounts.rb +59 -15
- data/test/test_assemblies.rb +5 -3
- data/test/test_balances.rb +2 -2
- data/test/test_billings.rb +2 -2
- data/test/test_cat_requests.rb +2 -2
- data/test/test_components.rb +1 -1
- data/test/test_login.rb +2 -4
- data/test/test_marketplaceaddons.rb +3 -2
- data/test/test_predefclouds.rb +2 -3
- data/test/test_promos.rb +3 -4
- data/test/test_sensors.rb +2 -2
- data/test/test_sshkeys.rb +1 -1
- data/test/test_subscriptions.rb +3 -4
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ca6cd3eb4822d02d8d0ebaf7f2bc063c271e5053
|
4
|
+
data.tar.gz: 3a824875e7938afaa20b48b6a8fbd9cff05d8b0c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3f6438fa9333d4e5e578e73ab4c9bea324d3ec04fc0ab8f6ded905aa54a8245ce43b79afaf272a09772cac5ae9b07ebe9b0798100440975a0289ba762a52e6d6
|
7
|
+
data.tar.gz: e22ee5fca62c1f2b171313ee733a1a9216736d43d5c0a65323a38e736d6c759c59d1655812360bc90207b98953f5f201db7d985c6ccaa5cf571b32933189f3b3
|
data/lib/megam/api.rb
CHANGED
@@ -148,7 +148,9 @@ module Megam
|
|
148
148
|
@email = @options.delete(:email)
|
149
149
|
@password = @options.delete(:password)
|
150
150
|
@org_id = @options.delete(:org_id)
|
151
|
-
|
151
|
+
unless !@options.delete(:reset_flag)
|
152
|
+
fail Megam::API::Errors::AuthKeysMissing if (@email.nil? && @api_key.nil?) || (@email.nil? && @password.nil?)
|
153
|
+
end
|
152
154
|
end
|
153
155
|
|
154
156
|
def request(params, &block)
|
@@ -232,7 +234,10 @@ module Megam
|
|
232
234
|
encoded_api_header = encode_header(@options)
|
233
235
|
@options[:headers] = HEADERS.merge(X_Megam_HMAC => encoded_api_header[:hmac],
|
234
236
|
X_Megam_DATE => encoded_api_header[:date], X_Megam_ORG => "#{@org_id}").merge(@options[:headers])
|
235
|
-
|
237
|
+
if (@api_key == "" || @api_key.nil?)
|
238
|
+
@options[:headers] = @options[:headers].merge('X-Megam-PUTTUSAVI' => "true") unless (@password == "" || @password.nil?)
|
239
|
+
end
|
240
|
+
|
236
241
|
Megam::Log.debug('HTTP Request Data:')
|
237
242
|
Megam::Log.debug("> HTTP #{@options[:scheme]}://#{@options[:host]}")
|
238
243
|
@options.each do |key, value|
|
@@ -266,13 +271,15 @@ module Megam
|
|
266
271
|
|
267
272
|
digest = OpenSSL::Digest.new('sha1')
|
268
273
|
movingFactor = data.rstrip!
|
269
|
-
if !(@password.nil?)
|
274
|
+
if !(@password.nil?) && @api_key.nil?
|
270
275
|
hash = OpenSSL::HMAC.hexdigest(digest, Base64.strict_decode64(@password), movingFactor)
|
271
|
-
|
276
|
+
elsif !(@api_key.nil?)
|
272
277
|
hash = OpenSSL::HMAC.hexdigest(digest, @api_key, movingFactor)
|
278
|
+
else
|
279
|
+
hash = OpenSSL::HMAC.hexdigest(digest, "", movingFactor)
|
273
280
|
end
|
274
281
|
final_hmac = @email + ':' + hash
|
275
282
|
header_params = { hmac: final_hmac, date: current_date }
|
276
283
|
end
|
277
284
|
end
|
278
|
-
end
|
285
|
+
end
|
data/lib/megam/api/accounts.rb
CHANGED
@@ -45,14 +45,34 @@ module Megam
|
|
45
45
|
@options = {:path => '/accounts/update',
|
46
46
|
:body => Megam::JSONCompat.to_json(update_account)}.merge(@options)
|
47
47
|
|
48
|
-
|
48
|
+
request(
|
49
49
|
:expects => 201,
|
50
50
|
:method => :post,
|
51
51
|
:body => @options[:body]
|
52
52
|
)
|
53
53
|
end
|
54
54
|
|
55
|
+
def reset_accounts(account)
|
56
|
+
@options = {:path => "/accounts/reset/#{account["email"]}",
|
57
|
+
:body => ''}.merge(@options)
|
58
|
+
|
59
|
+
request(
|
60
|
+
:expects => 201,
|
61
|
+
:method => :get,
|
62
|
+
:body => @options[:body]
|
63
|
+
)
|
64
|
+
end
|
65
|
+
|
66
|
+
def repassword_accounts(account)
|
67
|
+
@options = {:path => "/accounts/repassword",
|
68
|
+
:body => Megam::JSONCompat.to_json(account)}.merge(@options)
|
55
69
|
|
70
|
+
request(
|
71
|
+
:expects => 201,
|
72
|
+
:method => :post,
|
73
|
+
:body => @options[:body]
|
74
|
+
)
|
75
|
+
end
|
56
76
|
|
57
77
|
end
|
58
78
|
end
|
data/lib/megam/api/version.rb
CHANGED
data/lib/megam/core/account.rb
CHANGED
@@ -231,14 +231,6 @@ module Megam
|
|
231
231
|
megam_rest.post_accounts(to_hash)
|
232
232
|
end
|
233
233
|
|
234
|
-
=begin
|
235
|
-
# Load a account by email_p
|
236
|
-
def self.show(email,api_key,host=nil,password=nil)
|
237
|
-
acct = self.new(email, api_key, host, password)
|
238
|
-
acct.megam_rest.get_accounts(email)
|
239
|
-
end
|
240
|
-
=end
|
241
|
-
|
242
234
|
# Load a account by email_p
|
243
235
|
def self.show(o)
|
244
236
|
acct = self.new({:email => o[:email], :api_key => o[:api_key], :host => o[:host], :password => o[:password], :org_id => o[:org_id]})
|
@@ -249,11 +241,29 @@ module Megam
|
|
249
241
|
acct = from_hash(o)
|
250
242
|
acct.update
|
251
243
|
end
|
244
|
+
|
245
|
+
def self.reset(o)
|
246
|
+
acct = from_hash(o)
|
247
|
+
acct.reset
|
248
|
+
end
|
249
|
+
|
250
|
+
def self.repassword(o)
|
251
|
+
acct = from_hash(o)
|
252
|
+
acct.repassword
|
253
|
+
end
|
252
254
|
|
253
255
|
# Create the node via the REST API
|
254
256
|
def update
|
255
257
|
megam_rest.update_accounts(to_hash)
|
256
258
|
end
|
259
|
+
|
260
|
+
def reset
|
261
|
+
megam_rest.reset_accounts(to_hash)
|
262
|
+
end
|
263
|
+
|
264
|
+
def repassword
|
265
|
+
megam_rest.repassword_accounts(to_hash)
|
266
|
+
end
|
257
267
|
|
258
268
|
def to_s
|
259
269
|
Megam::Stuff.styled_hash(to_hash)
|
@@ -13,7 +13,7 @@
|
|
13
13
|
# See the License for the specific language governing permissions and
|
14
14
|
# limitations under the License.
|
15
15
|
#
|
16
|
-
|
16
|
+
|
17
17
|
|
18
18
|
module Megam
|
19
19
|
class MarketPlace < Megam::ServerAPI
|
@@ -74,7 +74,7 @@ module Megam
|
|
74
74
|
@flavor
|
75
75
|
end
|
76
76
|
end
|
77
|
-
|
77
|
+
|
78
78
|
def catorder(arg = nil)
|
79
79
|
if !arg.nil?
|
80
80
|
@catorder = arg
|
data/test/test_accounts.rb
CHANGED
@@ -1,29 +1,49 @@
|
|
1
1
|
require File.expand_path("#{File.dirname(__FILE__)}/test_helper")
|
2
2
|
|
3
3
|
class TestAccounts < MiniTest::Unit::TestCase
|
4
|
-
|
5
|
-
|
4
|
+
|
5
|
+
$admin = "admin-tom"
|
6
|
+
$normal = "normal-tom"
|
7
|
+
$tom_email = "tom@gomegam.com"
|
8
|
+
$bob_email = "bob@gomegam.com"
|
9
|
+
#=begin
|
10
|
+
|
11
|
+
def test_signin_auth
|
12
|
+
response =megams.get_accounts("test@megam.io")
|
13
|
+
response.body.to_s
|
14
|
+
assert_equal(200, response.status)
|
15
|
+
end
|
16
|
+
|
17
|
+
def test_get_accounts_good
|
18
|
+
response =megams.get_accounts(sandbox_email)
|
6
19
|
response.body.to_s
|
7
20
|
assert_equal(200, response.status)
|
8
21
|
end
|
9
22
|
|
23
|
+
|
24
|
+
=begin
|
25
|
+
|
10
26
|
def test_post_accounts_good
|
11
27
|
tmp_hash = {
|
28
|
+
"id" => "000099090909000",
|
12
29
|
"first_name" => "Darth",
|
13
30
|
"last_name" => "Vader",
|
14
|
-
"email" => "
|
31
|
+
"email" => "coolvader@iamswag.com",
|
15
32
|
"phone" => "19090909090",
|
16
33
|
"api_key" => "IamAtlas{74}NobdyCanSedfefdeME#07",
|
17
34
|
"authority" => "admin",
|
18
|
-
"password" =>
|
35
|
+
"password" => "",
|
19
36
|
"password_reset_key" => "",
|
20
37
|
"password_reset_sent_at" => "",
|
21
|
-
|
22
|
-
|
38
|
+
"created_at" => "2014-10-29 13:24:06 +0000"
|
39
|
+
}
|
40
|
+
response =megams.post_accounts(tmp_hash)
|
23
41
|
response.body.to_s
|
24
42
|
assert_equal(201, response.status)
|
25
43
|
end
|
44
|
+
=end
|
26
45
|
|
46
|
+
=begin
|
27
47
|
def test_update_accounts_good
|
28
48
|
tmp_hash = {
|
29
49
|
"id" => "w3423",
|
@@ -32,21 +52,45 @@ class TestAccounts < MiniTest::Unit::TestCase
|
|
32
52
|
"email" => "super@test.com",
|
33
53
|
"phone" => "19090909090011111111",
|
34
54
|
"api_key" => "IamAtlas{74}NobdyCanSedfefdeME#07",
|
35
|
-
"password" => "tset",
|
36
55
|
"authority" => "admin",
|
56
|
+
"password" => "tset",
|
37
57
|
"password_reset_key" => "",
|
58
|
+
"password_reset_sent_at" => "",
|
38
59
|
"created_at" => "2014-10-29 13:24:06 +0000"
|
39
|
-
|
40
|
-
|
60
|
+
}
|
61
|
+
response = megams.update_accounts(tmp_hash)
|
62
|
+
response.body.to_s
|
63
|
+
assert_equal(201, response.status)
|
64
|
+
end
|
65
|
+
=end
|
66
|
+
=begin
|
67
|
+
def test_get_accounts_bad
|
68
|
+
assert_raises(Megam::API::Errors::NotFound) do
|
69
|
+
response =megams.get_accounts(sandbox_email+"_bad")
|
70
|
+
response.body.to_s
|
71
|
+
end
|
72
|
+
end
|
73
|
+
def test_post_accounts_admin
|
74
|
+
response =megams.post_accounts(
|
75
|
+
{:id => random_id, :email => $tom_email, :api_key => sandbox_apikey, :authority => $admin})
|
41
76
|
response.body.to_s
|
42
77
|
assert_equal(201, response.status)
|
43
78
|
end
|
44
79
|
|
45
|
-
def
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
80
|
+
def test_post_accounts_normal
|
81
|
+
response =megams.post_accounts(
|
82
|
+
{:id => random_id, :email => $bob_email, :api_key => sandbox_apikey, :authority => $normal})
|
83
|
+
response.body.to_s
|
84
|
+
assert_equal(201, response.status)
|
50
85
|
end
|
51
86
|
|
52
|
-
|
87
|
+
def test_post_accounts_normal_bad
|
88
|
+
assert_raises(ArgumentError) do
|
89
|
+
response =megam.post_accounts(
|
90
|
+
{:id => random_id, :emailo => sandbox_email,
|
91
|
+
:apik_key => sandbox_apikey, :authority => $admin})
|
92
|
+
response.body.to_s
|
93
|
+
end
|
94
|
+
end
|
95
|
+
=end
|
96
|
+
end
|
data/test/test_assemblies.rb
CHANGED
@@ -77,8 +77,10 @@ class TestApps < MiniTest::Unit::TestCase
|
|
77
77
|
{"key"=>"status","value"=>"error"}]
|
78
78
|
}
|
79
79
|
|
80
|
-
|
81
|
-
|
82
|
-
|
80
|
+
|
81
|
+
response = megams.post_assemblies(tmp_hash)
|
82
|
+
assert_equal(201, response.status)
|
83
|
+
end
|
84
|
+
|
83
85
|
#=end
|
84
86
|
end
|
data/test/test_balances.rb
CHANGED
@@ -11,7 +11,7 @@ class TestApps < MiniTest::Unit::TestCase
|
|
11
11
|
assert_equal(201, response.status)
|
12
12
|
end
|
13
13
|
#=end
|
14
|
-
|
14
|
+
=begin
|
15
15
|
def test_update_balances
|
16
16
|
tmp_hash = {:id=>"BAL5611523197067225006",
|
17
17
|
:accounts_id=>"ACT119501563472393011",
|
@@ -22,7 +22,7 @@ def test_update_balances
|
|
22
22
|
response = megams.update_balance(tmp_hash)
|
23
23
|
assert_equal(201, response.status)
|
24
24
|
end
|
25
|
-
|
25
|
+
=end
|
26
26
|
=begin
|
27
27
|
def test_get_balances
|
28
28
|
response = megams.get_balances
|
data/test/test_billings.rb
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
require File.expand_path("#{File.dirname(__FILE__)}/test_helper")
|
2
2
|
|
3
3
|
class TestApps < MiniTest::Unit::TestCase
|
4
|
-
|
4
|
+
=begin
|
5
5
|
def test_post_billings
|
6
6
|
tmp_hash = { :accounts_id => "ACT93476985797",
|
7
7
|
:line1 => "paypal",
|
@@ -16,7 +16,7 @@ class TestApps < MiniTest::Unit::TestCase
|
|
16
16
|
response = megams.post_billings(tmp_hash)
|
17
17
|
assert_equal(201, response.status)
|
18
18
|
end
|
19
|
-
|
19
|
+
=end
|
20
20
|
|
21
21
|
=begin
|
22
22
|
def test_get_billings
|
data/test/test_cat_requests.rb
CHANGED
data/test/test_components.rb
CHANGED
data/test/test_login.rb
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
require File.expand_path("#{File.dirname(__FILE__)}/test_helper")
|
2
2
|
|
3
3
|
class TestApps < MiniTest::Unit::TestCase
|
4
|
-
|
4
|
+
=begin
|
5
5
|
def test_post_addon
|
6
6
|
@com = {
|
7
7
|
"disaster"=>{
|
@@ -41,5 +41,6 @@ end
|
|
41
41
|
# def test_get_nodes
|
42
42
|
# response = megams.get_addons("appsample1.megam.co")
|
43
43
|
# assert_equal(200, response.status)
|
44
|
-
|
44
|
+
#=end
|
45
|
+
=end
|
45
46
|
end
|
data/test/test_predefclouds.rb
CHANGED
@@ -53,13 +53,13 @@ class TestApps < MiniTest::Unit::TestCase
|
|
53
53
|
assert_equal(201, response.status)
|
54
54
|
end
|
55
55
|
=end
|
56
|
-
|
56
|
+
=begin
|
57
57
|
|
58
58
|
def test_get_predefclouds
|
59
59
|
response = megams.get_predefclouds
|
60
60
|
assert_equal(200, response.status)
|
61
61
|
end
|
62
|
-
|
62
|
+
=end
|
63
63
|
=begin
|
64
64
|
def test_get_predefcloud2
|
65
65
|
response = megams.get_predefcloud("rkspce_sundown_play")
|
@@ -78,4 +78,3 @@ end
|
|
78
78
|
end
|
79
79
|
=end
|
80
80
|
end
|
81
|
-
|
data/test/test_promos.rb
CHANGED
@@ -1,12 +1,11 @@
|
|
1
1
|
require File.expand_path("#{File.dirname(__FILE__)}/test_helper")
|
2
2
|
|
3
3
|
class TestApps < MiniTest::Unit::TestCase
|
4
|
-
|
4
|
+
=begin
|
5
5
|
def test_get_promos()
|
6
6
|
response = megams.get_promos("megamfree5")
|
7
7
|
assert_equal(200, response.status)
|
8
|
-
|
9
|
-
end
|
10
8
|
|
9
|
+
end
|
10
|
+
=end
|
11
11
|
end
|
12
|
-
|
data/test/test_sensors.rb
CHANGED
@@ -15,7 +15,7 @@ class TestApps < MiniTest::Unit::TestCase
|
|
15
15
|
end
|
16
16
|
=end
|
17
17
|
|
18
|
-
|
18
|
+
=begin
|
19
19
|
def test_post_sensors
|
20
20
|
tmp_hash = {
|
21
21
|
|
@@ -46,5 +46,5 @@ class TestApps < MiniTest::Unit::TestCase
|
|
46
46
|
response = megams.post_sensors(tmp_hash)
|
47
47
|
assert_equal(200, response.status)
|
48
48
|
end
|
49
|
-
|
49
|
+
=end
|
50
50
|
end
|
data/test/test_sshkeys.rb
CHANGED
@@ -5,7 +5,7 @@ class TestApps < MiniTest::Unit::TestCase
|
|
5
5
|
#=begin
|
6
6
|
def test_post_sshkey2
|
7
7
|
tmp_hash = {
|
8
|
-
:name => "
|
8
|
+
:name => "a@b.com_rtr",
|
9
9
|
:org_id => "ORG123",
|
10
10
|
:privatekey => "-----BEGIN RSA PRIVATE KEY-----
|
11
11
|
MIIEpQIBAAKCAQEAz9g/LhHB7fDo85vm2O9F1oDzJhTs6PI3N6WDayZEzG4xmrZd
|
data/test/test_subscriptions.rb
CHANGED
@@ -1,9 +1,9 @@
|
|
1
1
|
require File.expand_path("#{File.dirname(__FILE__)}/test_helper")
|
2
2
|
|
3
3
|
class TestApps < MiniTest::Unit::TestCase
|
4
|
-
|
4
|
+
=begin
|
5
5
|
def test_post_subscriptions
|
6
|
-
tmp_hash = { :accounts_id => "ACT93476985797",
|
6
|
+
tmp_hash = { :accounts_id => "ACT93476985797",
|
7
7
|
:assembly_id => "ASMkh9879847",
|
8
8
|
:start_date => "45",
|
9
9
|
:end_date => ""
|
@@ -12,7 +12,7 @@ class TestApps < MiniTest::Unit::TestCase
|
|
12
12
|
response = megams.post_subscriptions(tmp_hash)
|
13
13
|
assert_equal(201, response.status)
|
14
14
|
end
|
15
|
-
|
15
|
+
=end
|
16
16
|
|
17
17
|
=begin
|
18
18
|
def test_get_subscriptions
|
@@ -27,4 +27,3 @@ class TestApps < MiniTest::Unit::TestCase
|
|
27
27
|
end
|
28
28
|
=end
|
29
29
|
end
|
30
|
-
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: megam_api
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: '0.
|
4
|
+
version: '0.97'
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Rajthilak, Kishorekumar Neelamegam, Thomas Alrin, Yeshwanth Kumar, Subash Sethurajan,
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2016-03-
|
12
|
+
date: 2016-03-12 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: excon
|