superbot-cloud 0.3.0 → 0.3.1
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 +14 -14
- data/lib/superbot/cloud.rb +0 -1
- data/lib/superbot/cloud/api.rb +2 -1
- data/lib/superbot/cloud/cli/organization/base_command.rb +12 -0
- data/lib/superbot/cloud/cli/organization/default_command.rb +21 -0
- data/lib/superbot/cloud/cli/organization/list_command.rb +5 -2
- data/lib/superbot/cloud/cli/organization_based_command.rb +1 -1
- data/lib/superbot/cloud/cli/organization_command.rb +3 -0
- data/lib/superbot/cloud/cli/run/create_command.rb +1 -1
- data/lib/superbot/cloud/version.rb +1 -1
- data/lib/superbot/cloud/web.rb +1 -1
- data/superbot-cloud.gemspec +1 -1
- metadata +6 -4
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 974b01bdf05f6ef310b1d8350a3828b5fc2195e91cd46d88ca7e4298416fd800
|
|
4
|
+
data.tar.gz: 6795a9122f33dfeeebc40804eb528a700351d760abc872275a1abe2446a8a2ab
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: a7a3ac1f4bf6b972cdffd1e4414f60e74bae3f6ef02c3c25f13df17eac4d9cea5d9c911c9623c621be428c4f2ac0bb38b54970923e6623e97b1858a060b71815
|
|
7
|
+
data.tar.gz: 65595db9d9a843c7b90209171ee557be310e71a064c62dcbc0a02795c1a5683c01c3f91800f3583c757dc2a9ecfdb745dbe92559178fe547aa29c602a8146985
|
data/Gemfile.lock
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
PATH
|
|
2
2
|
remote: .
|
|
3
3
|
specs:
|
|
4
|
-
superbot-cloud (0.3.
|
|
4
|
+
superbot-cloud (0.3.1)
|
|
5
5
|
marcel (= 0.3.3)
|
|
6
6
|
multipart-post (= 2.0.0)
|
|
7
7
|
|
|
8
8
|
GEM
|
|
9
9
|
remote: https://rubygems.org/
|
|
10
10
|
specs:
|
|
11
|
-
addressable (2.
|
|
11
|
+
addressable (2.6.0)
|
|
12
12
|
public_suffix (>= 2.0.2, < 4.0)
|
|
13
13
|
archive-zip (0.11.0)
|
|
14
14
|
io-like (~> 0.3.0)
|
|
@@ -33,7 +33,7 @@ GEM
|
|
|
33
33
|
mini_portile2 (2.4.0)
|
|
34
34
|
multipart-post (2.0.0)
|
|
35
35
|
mustermann (1.0.3)
|
|
36
|
-
nokogiri (1.10.
|
|
36
|
+
nokogiri (1.10.1)
|
|
37
37
|
mini_portile2 (~> 2.4.0)
|
|
38
38
|
parallel (1.12.1)
|
|
39
39
|
parser (2.5.1.2)
|
|
@@ -41,7 +41,7 @@ GEM
|
|
|
41
41
|
powerpack (0.1.2)
|
|
42
42
|
public_suffix (3.0.3)
|
|
43
43
|
rack (2.0.6)
|
|
44
|
-
rack-protection (2.0.
|
|
44
|
+
rack-protection (2.0.5)
|
|
45
45
|
rack
|
|
46
46
|
rainbow (3.0.0)
|
|
47
47
|
rake (10.5.0)
|
|
@@ -71,34 +71,34 @@ GEM
|
|
|
71
71
|
selenium-webdriver (3.141.0)
|
|
72
72
|
childprocess (~> 0.5)
|
|
73
73
|
rubyzip (~> 1.2, >= 1.2.2)
|
|
74
|
-
sinatra (2.0.
|
|
74
|
+
sinatra (2.0.5)
|
|
75
75
|
mustermann (~> 1.0)
|
|
76
76
|
rack (~> 2.0)
|
|
77
|
-
rack-protection (= 2.0.
|
|
77
|
+
rack-protection (= 2.0.5)
|
|
78
78
|
tilt (~> 2.0)
|
|
79
79
|
sinatra-silent (0.0.1)
|
|
80
|
-
superbot (0.
|
|
80
|
+
superbot (0.4.0)
|
|
81
81
|
clamp (= 1.2.1)
|
|
82
82
|
kommando (= 0.1.2)
|
|
83
83
|
launchy (= 2.4.3)
|
|
84
|
-
sinatra (= 2.0.
|
|
84
|
+
sinatra (= 2.0.5)
|
|
85
85
|
sinatra-silent (= 0.0.1)
|
|
86
|
-
superbot-cloud (= 0.
|
|
86
|
+
superbot-cloud (= 0.3.0)
|
|
87
87
|
superbot-record (= 0.1.0)
|
|
88
|
-
superbot-runner (= 0.1.
|
|
88
|
+
superbot-runner (= 0.1.3)
|
|
89
89
|
superbot-selenium-webdriver (= 1.0.5)
|
|
90
|
-
superbot-teleport (= 0.
|
|
90
|
+
superbot-teleport (= 0.3.0)
|
|
91
91
|
zaru (= 0.2.0)
|
|
92
92
|
superbot-record (0.1.0)
|
|
93
93
|
superbot-record-chrome
|
|
94
94
|
superbot-record-chrome (0.1.0)
|
|
95
|
-
superbot-runner (0.1.
|
|
95
|
+
superbot-runner (0.1.3)
|
|
96
96
|
superbot-runner-side
|
|
97
97
|
superbot-runner-side (0.1.0)
|
|
98
98
|
superbot-selenium-webdriver (1.0.5)
|
|
99
99
|
chromedriver-helper (= 2.1.0)
|
|
100
100
|
selenium-webdriver (= 3.141.0)
|
|
101
|
-
superbot-teleport (0.
|
|
101
|
+
superbot-teleport (0.3.0)
|
|
102
102
|
excon
|
|
103
103
|
tilt (2.0.9)
|
|
104
104
|
unicode-display_width (1.4.0)
|
|
@@ -112,7 +112,7 @@ DEPENDENCIES
|
|
|
112
112
|
rake (~> 10.0)
|
|
113
113
|
rspec (~> 3.0)
|
|
114
114
|
rubocop (~> 0.53)
|
|
115
|
-
superbot (~> 0.
|
|
115
|
+
superbot (~> 0.4.0)
|
|
116
116
|
superbot-cloud!
|
|
117
117
|
|
|
118
118
|
BUNDLED WITH
|
data/lib/superbot/cloud.rb
CHANGED
|
@@ -26,7 +26,6 @@ module Superbot
|
|
|
26
26
|
all_credentials[Superbot::DOMAIN.to_sym] = data.transform_keys!(&:to_sym)
|
|
27
27
|
FileUtils.mkdir_p CREDENTIALS_PATH
|
|
28
28
|
File.write CREDENTIALS_FILE_PATH, all_credentials.to_json
|
|
29
|
-
puts "Logged in as %<username>s (%<email>s)" % credentials.slice(:username, :email)
|
|
30
29
|
end
|
|
31
30
|
|
|
32
31
|
def self.remove_credentials
|
data/lib/superbot/cloud/api.rb
CHANGED
|
@@ -9,6 +9,7 @@ module Superbot
|
|
|
9
9
|
ENDPOINT_MAP = {
|
|
10
10
|
token: { method: :post, endpoint: 'token' },
|
|
11
11
|
organization_list: { method: :get, endpoint: 'organizations' },
|
|
12
|
+
get_organization: { method: :get, endpoint: 'organizations', required_param: :name},
|
|
12
13
|
test_list: { method: :get, endpoint: 'tests' },
|
|
13
14
|
test_upload: { method: :post_multipart, endpoint: 'tests' },
|
|
14
15
|
test_download: { method: :get, endpoint: 'tests', required_param: :name },
|
|
@@ -34,7 +35,7 @@ module Superbot
|
|
|
34
35
|
|
|
35
36
|
def self.request(type, params: {})
|
|
36
37
|
method, endpoint, required_param = ENDPOINT_MAP[type].values
|
|
37
|
-
uri = URI.parse([BASE_URI, endpoint, params[required_param]].compact.join('/'))
|
|
38
|
+
uri = URI.parse([BASE_URI, endpoint, params[required_param] && CGI.escape(params[required_param])].compact.join('/'))
|
|
38
39
|
|
|
39
40
|
request_class = Net::HTTP.const_get(method.to_s.split('_').map(&:capitalize).join('::'))
|
|
40
41
|
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Superbot
|
|
4
|
+
module Cloud
|
|
5
|
+
module CLI
|
|
6
|
+
module Organization
|
|
7
|
+
class DefaultCommand < BaseCommand
|
|
8
|
+
parameter "NAME", "Organization name", required: true
|
|
9
|
+
|
|
10
|
+
def execute
|
|
11
|
+
organization = Superbot::Cloud::Api.request(:get_organization, params: { name: name })
|
|
12
|
+
new_credentials = Superbot::Cloud.credentials.merge(organization: organization[:name])
|
|
13
|
+
Superbot::Cloud.save_credentials(new_credentials)
|
|
14
|
+
|
|
15
|
+
puts "Default organization: #{Superbot::Cloud.credentials[:organization]}"
|
|
16
|
+
end
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
end
|
|
@@ -4,14 +4,17 @@ module Superbot
|
|
|
4
4
|
module Cloud
|
|
5
5
|
module CLI
|
|
6
6
|
module Organization
|
|
7
|
-
class ListCommand <
|
|
7
|
+
class ListCommand < BaseCommand
|
|
8
8
|
def execute
|
|
9
9
|
list_organizations
|
|
10
10
|
end
|
|
11
11
|
|
|
12
12
|
def list_organizations
|
|
13
|
+
default_org = Superbot::Cloud.credentials[:organization]
|
|
13
14
|
api_response = Superbot::Cloud::Api.request(:organization_list)
|
|
14
|
-
|
|
15
|
+
|
|
16
|
+
puts "Your organizations:"
|
|
17
|
+
puts(api_response.map { |org| org[:name] == default_org ? "#{org[:name]} (default)" : org[:name] })
|
|
15
18
|
end
|
|
16
19
|
end
|
|
17
20
|
end
|
|
@@ -4,7 +4,7 @@ module Superbot
|
|
|
4
4
|
module Cloud
|
|
5
5
|
module CLI
|
|
6
6
|
class OrganizationBasedCommand < LoginRequiredCommand
|
|
7
|
-
option ["--org"], "ORGANIZATION", "Name of organization to take action on", environment_variable: "SUPERBOT_ORG",
|
|
7
|
+
option ["--org"], "ORGANIZATION", "Name of organization to take action on", environment_variable: "SUPERBOT_ORG", attribute_name: :organization, default: Superbot::Cloud.credentials&.fetch(:organization, nil)
|
|
8
8
|
end
|
|
9
9
|
end
|
|
10
10
|
end
|
|
@@ -1,12 +1,15 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
+
require_relative 'organization/base_command'
|
|
3
4
|
require_relative 'organization/list_command'
|
|
5
|
+
require_relative 'organization/default_command'
|
|
4
6
|
|
|
5
7
|
module Superbot
|
|
6
8
|
module Cloud
|
|
7
9
|
module CLI
|
|
8
10
|
class OrganizationCommand < LoginRequiredCommand
|
|
9
11
|
subcommand ['list'], "List user organizations from the cloud", Organization::ListCommand
|
|
12
|
+
subcommand ['default'], "Set default organization for CLI", Organization::DefaultCommand
|
|
10
13
|
end
|
|
11
14
|
end
|
|
12
15
|
end
|
|
@@ -4,7 +4,7 @@ module Superbot
|
|
|
4
4
|
module Cloud
|
|
5
5
|
module CLI
|
|
6
6
|
module Run
|
|
7
|
-
class CreateCommand <
|
|
7
|
+
class CreateCommand < BaseCommand
|
|
8
8
|
parameter "NAME", "the name of the test to delete", required: true
|
|
9
9
|
option ['--region'], 'REGION', 'Region for remote webdriver'
|
|
10
10
|
|
data/lib/superbot/cloud/web.rb
CHANGED
|
@@ -5,7 +5,7 @@ module Superbot
|
|
|
5
5
|
module Web
|
|
6
6
|
def self.registered(sinatra)
|
|
7
7
|
sinatra.get "/login" do
|
|
8
|
-
credentials = request.params.slice(
|
|
8
|
+
credentials = request.params.slice(*%w[username email token organization])
|
|
9
9
|
Superbot::Cloud.save_credentials(credentials)
|
|
10
10
|
redirect "#{Superbot::Cloud::LOGIN_URI}/success"
|
|
11
11
|
end
|
data/superbot-cloud.gemspec
CHANGED
|
@@ -36,7 +36,7 @@ Gem::Specification.new do |spec|
|
|
|
36
36
|
spec.add_runtime_dependency "multipart-post", "2.0.0"
|
|
37
37
|
spec.add_runtime_dependency "marcel", "0.3.3"
|
|
38
38
|
|
|
39
|
-
spec.add_development_dependency "superbot", "~> 0.
|
|
39
|
+
spec.add_development_dependency "superbot", "~> 0.4.0"
|
|
40
40
|
spec.add_development_dependency "bundler", "~> 1.16"
|
|
41
41
|
spec.add_development_dependency "rake", "~> 10.0"
|
|
42
42
|
spec.add_development_dependency "rspec", "~> 3.0"
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: superbot-cloud
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.3.
|
|
4
|
+
version: 0.3.1
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Superbots
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: exe
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2019-02-
|
|
11
|
+
date: 2019-02-25 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: multipart-post
|
|
@@ -44,14 +44,14 @@ dependencies:
|
|
|
44
44
|
requirements:
|
|
45
45
|
- - "~>"
|
|
46
46
|
- !ruby/object:Gem::Version
|
|
47
|
-
version: 0.
|
|
47
|
+
version: 0.4.0
|
|
48
48
|
type: :development
|
|
49
49
|
prerelease: false
|
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
|
51
51
|
requirements:
|
|
52
52
|
- - "~>"
|
|
53
53
|
- !ruby/object:Gem::Version
|
|
54
|
-
version: 0.
|
|
54
|
+
version: 0.4.0
|
|
55
55
|
- !ruby/object:Gem::Dependency
|
|
56
56
|
name: bundler
|
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -144,6 +144,8 @@ files:
|
|
|
144
144
|
- lib/superbot/cloud/cli/member/list_command.rb
|
|
145
145
|
- lib/superbot/cloud/cli/member/remove_command.rb
|
|
146
146
|
- lib/superbot/cloud/cli/member_command.rb
|
|
147
|
+
- lib/superbot/cloud/cli/organization/base_command.rb
|
|
148
|
+
- lib/superbot/cloud/cli/organization/default_command.rb
|
|
147
149
|
- lib/superbot/cloud/cli/organization/list_command.rb
|
|
148
150
|
- lib/superbot/cloud/cli/organization_based_command.rb
|
|
149
151
|
- lib/superbot/cloud/cli/organization_command.rb
|