superbot-cloud 0.1.18 → 0.1.19
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 +15 -9
- data/exe/superbot-cloud +1 -1
- data/lib/superbot/cloud.rb +3 -2
- data/lib/superbot/cloud/api.rb +1 -1
- data/lib/superbot/cloud/cli/{cloud/login_command.rb → login_command.rb} +3 -22
- data/lib/superbot/cloud/cli/{cloud/organization → organization}/list_command.rb +2 -2
- data/lib/superbot/cloud/cli/{cloud/organization_command.rb → organization_command.rb} +3 -3
- data/lib/superbot/cloud/cli/root_command.rb +27 -4
- data/lib/superbot/cloud/cli/{cloud/test → test}/delete_command.rb +2 -2
- data/lib/superbot/cloud/cli/{cloud/test → test}/list_command.rb +2 -2
- data/lib/superbot/cloud/cli/{cloud/test → test}/upload_command.rb +2 -2
- data/lib/superbot/cloud/cli/{cloud/test_command.rb → test_command.rb} +5 -5
- data/lib/superbot/cloud/cli/{cloud/validations.rb → validations.rb} +0 -0
- data/lib/superbot/cloud/cli/{cloud/version_command.rb → version_command.rb} +2 -2
- data/lib/superbot/cloud/cli/{cloud/webdriver → webdriver}/delete_command.rb +2 -2
- data/lib/superbot/cloud/cli/{cloud/webdriver → webdriver}/list_command.rb +2 -2
- data/lib/superbot/cloud/cli/{cloud/webdriver_command.rb → webdriver_command.rb} +4 -4
- data/lib/superbot/cloud/version.rb +1 -1
- data/lib/superbot/cloud/web.rb +16 -0
- data/superbot-cloud.gemspec +1 -1
- metadata +17 -18
- data/lib/superbot/cloud/cli/cloud_command.rb +0 -32
- data/lib/superbot/cloud/web_login.rb +0 -53
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5a9d3104480558f1d2611d811fe52920244cf502ab70d1a0ffc7d6d4f9e28a9c
|
4
|
+
data.tar.gz: ef334a9ad002c647fb9029b7704a02d78ca53266415e3ca6b6f3c7419ed74b3f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d133a15f010b11308d09a31d0f24ecabb956ae1e9e944758f3c8d8b59f51f3fe0d01f099b70442ad67404a35e0f5236b8c8347101657b52b9bab975bf6564a83
|
7
|
+
data.tar.gz: 58ef5bfebf9d0eea808ad5bced543e56af3162542aa195343ce9fc373ab2c5b44076dcaebbf46f4f5fb351017551965bdd24820150519ed52c852225b53097ed
|
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
superbot-cloud (0.1.
|
4
|
+
superbot-cloud (0.1.19)
|
5
5
|
marcel (= 0.3.3)
|
6
6
|
multipart-post (= 2.0.0)
|
7
7
|
|
@@ -15,6 +15,7 @@ GEM
|
|
15
15
|
ffi (~> 1.0, >= 1.0.11)
|
16
16
|
clamp (1.2.1)
|
17
17
|
diff-lcs (1.3)
|
18
|
+
excon (0.62.0)
|
18
19
|
ffi (1.9.25)
|
19
20
|
jaro_winkler (1.5.1)
|
20
21
|
kommando (0.1.2)
|
@@ -31,7 +32,7 @@ GEM
|
|
31
32
|
powerpack (0.1.2)
|
32
33
|
public_suffix (3.0.3)
|
33
34
|
rack (2.0.6)
|
34
|
-
rack-protection (2.0.
|
35
|
+
rack-protection (2.0.4)
|
35
36
|
rack
|
36
37
|
rainbow (3.0.0)
|
37
38
|
rake (10.5.0)
|
@@ -61,21 +62,26 @@ GEM
|
|
61
62
|
selenium-webdriver (3.141.0)
|
62
63
|
childprocess (~> 0.5)
|
63
64
|
rubyzip (~> 1.2, >= 1.2.2)
|
64
|
-
sinatra (2.0.
|
65
|
+
sinatra (2.0.4)
|
65
66
|
mustermann (~> 1.0)
|
66
67
|
rack (~> 2.0)
|
67
|
-
rack-protection (= 2.0.
|
68
|
+
rack-protection (= 2.0.4)
|
68
69
|
tilt (~> 2.0)
|
69
70
|
sinatra-silent (0.0.1)
|
70
|
-
superbot (0.1.
|
71
|
+
superbot (0.1.28)
|
71
72
|
clamp (= 1.2.1)
|
72
73
|
kommando (~> 0.1)
|
73
74
|
launchy (= 2.4.3)
|
74
75
|
selenium-webdriver (~> 3.14, >= 3.14.0)
|
75
|
-
sinatra (= 2.0.
|
76
|
+
sinatra (= 2.0.4)
|
76
77
|
sinatra-silent (= 0.0.1)
|
77
|
-
superbot-cloud (~> 0.1.
|
78
|
+
superbot-cloud (~> 0.1.18)
|
79
|
+
superbot-teleport (~> 0.2.1)
|
78
80
|
zaru (= 0.2.0)
|
81
|
+
superbot-teleport (0.2.1)
|
82
|
+
clamp (= 1.2.1)
|
83
|
+
excon
|
84
|
+
kommando (~> 0.1)
|
79
85
|
tilt (2.0.9)
|
80
86
|
unicode-display_width (1.4.0)
|
81
87
|
zaru (0.2.0)
|
@@ -88,8 +94,8 @@ DEPENDENCIES
|
|
88
94
|
rake (~> 10.0)
|
89
95
|
rspec (~> 3.0)
|
90
96
|
rubocop (~> 0.53)
|
91
|
-
superbot (~> 0.1.
|
97
|
+
superbot (~> 0.1.28)
|
92
98
|
superbot-cloud!
|
93
99
|
|
94
100
|
BUNDLED WITH
|
95
|
-
1.
|
101
|
+
1.17.1
|
data/exe/superbot-cloud
CHANGED
data/lib/superbot/cloud.rb
CHANGED
@@ -2,7 +2,8 @@
|
|
2
2
|
|
3
3
|
module Superbot
|
4
4
|
module Cloud
|
5
|
-
|
5
|
+
BASE_URI = "#{Superbot::URI_SCHEME}://#{Superbot::DOMAIN}"
|
6
|
+
LOGIN_URI = "#{BASE_URI}/login/cloud"
|
6
7
|
CREDENTIALS_PATH = File.join(Dir.home, '.superbot')
|
7
8
|
private_constant :CREDENTIALS_PATH
|
8
9
|
CREDENTIALS_FILE_PATH = File.join(CREDENTIALS_PATH, 'cloud_credentials.json')
|
@@ -32,5 +33,5 @@ end
|
|
32
33
|
|
33
34
|
require_relative "cloud/version"
|
34
35
|
require_relative "cloud/api"
|
36
|
+
require_relative "cloud/web"
|
35
37
|
require_relative "cloud/cli"
|
36
|
-
require_relative "cloud/web_login"
|
data/lib/superbot/cloud/api.rb
CHANGED
@@ -5,7 +5,7 @@ require 'net/http/post/multipart'
|
|
5
5
|
module Superbot
|
6
6
|
module Cloud
|
7
7
|
module Api
|
8
|
-
BASE_URI = "#{Superbot::
|
8
|
+
BASE_URI = "#{Superbot::Cloud::BASE_URI}/api/v1"
|
9
9
|
ENDPOINT_MAP = {
|
10
10
|
login: { method: :post, endpoint: 'sessions' },
|
11
11
|
token: { method: :post, endpoint: 'token' },
|
@@ -4,8 +4,8 @@ require 'net/http'
|
|
4
4
|
require 'launchy'
|
5
5
|
|
6
6
|
module Superbot
|
7
|
-
module
|
8
|
-
module
|
7
|
+
module Cloud
|
8
|
+
module CLI
|
9
9
|
class LoginCommand < Clamp::Command
|
10
10
|
option ['-i', '--interactive'], :flag, 'interactive login from command line'
|
11
11
|
option ['-f', '--force'], :flag, 'force override current credentials'
|
@@ -35,11 +35,8 @@ module Superbot
|
|
35
35
|
end
|
36
36
|
|
37
37
|
def web_login
|
38
|
-
web = Superbot::Cloud::WebLogin.new
|
39
|
-
web.run_async_after_running!
|
40
38
|
open_cloud_login_uri
|
41
|
-
|
42
|
-
wait_for_login(web)
|
39
|
+
Superbot::Web.run!
|
43
40
|
end
|
44
41
|
|
45
42
|
def open_cloud_login_uri
|
@@ -51,22 +48,6 @@ module Superbot
|
|
51
48
|
puts "Your browser has been opened to visit:", cloud_login_uri
|
52
49
|
puts
|
53
50
|
end
|
54
|
-
|
55
|
-
def handle_keyboard_interrupt
|
56
|
-
trap "SIGINT" do
|
57
|
-
puts
|
58
|
-
puts "Command killed by keyboard interrupt"
|
59
|
-
exit 130
|
60
|
-
end
|
61
|
-
end
|
62
|
-
|
63
|
-
def wait_for_login(web)
|
64
|
-
loop do
|
65
|
-
break unless web.running?
|
66
|
-
|
67
|
-
sleep 0.1
|
68
|
-
end
|
69
|
-
end
|
70
51
|
end
|
71
52
|
end
|
72
53
|
end
|
@@ -3,10 +3,10 @@
|
|
3
3
|
require_relative 'organization/list_command'
|
4
4
|
|
5
5
|
module Superbot
|
6
|
-
module
|
7
|
-
module
|
6
|
+
module Cloud
|
7
|
+
module CLI
|
8
8
|
class OrganizationCommand < Clamp::Command
|
9
|
-
subcommand ['list'], "List user organizations from the cloud",
|
9
|
+
subcommand ['list'], "List user organizations from the cloud", Organization::ListCommand
|
10
10
|
|
11
11
|
def self.run
|
12
12
|
super
|
@@ -1,11 +1,34 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require_relative '
|
3
|
+
require_relative 'validations'
|
4
|
+
require_relative 'login_command'
|
5
|
+
require_relative 'version_command'
|
6
|
+
require_relative 'organization_command'
|
7
|
+
require_relative 'test_command'
|
8
|
+
require_relative 'webdriver_command'
|
4
9
|
|
5
10
|
module Superbot
|
6
|
-
module
|
7
|
-
|
8
|
-
|
11
|
+
module Cloud
|
12
|
+
module CLI
|
13
|
+
class RootCommand < Clamp::Command
|
14
|
+
subcommand ['version'], 'Superbot cloud version', VersionCommand
|
15
|
+
subcommand ['login'], 'Login to superbot cloud', LoginCommand
|
16
|
+
subcommand(['org'], 'Manage your organizations', OrganizationCommand)
|
17
|
+
subcommand ['test'], "Manage your tests", TestCommand
|
18
|
+
subcommand ['webdriver'], "Manage your webdriver sessions", WebdriverCommand
|
19
|
+
|
20
|
+
option ['-v', '--version'], :flag, "Show version information" do
|
21
|
+
puts Superbot::Cloud::VERSION
|
22
|
+
exit 0
|
23
|
+
end
|
24
|
+
|
25
|
+
def self.run
|
26
|
+
super
|
27
|
+
rescue StandardError => exc
|
28
|
+
warn exc.message
|
29
|
+
warn exc.backtrace.join("\n")
|
30
|
+
end
|
31
|
+
end
|
9
32
|
end
|
10
33
|
end
|
11
34
|
end
|
@@ -5,12 +5,12 @@ require_relative 'test/upload_command'
|
|
5
5
|
require_relative 'test/delete_command'
|
6
6
|
|
7
7
|
module Superbot
|
8
|
-
module
|
9
|
-
module
|
8
|
+
module Cloud
|
9
|
+
module CLI
|
10
10
|
class TestCommand < Clamp::Command
|
11
|
-
subcommand ['list'], "List user tests from the cloud",
|
12
|
-
subcommand ['upload'], "Upload test to the cloud",
|
13
|
-
subcommand ['delete'], "Delete test from the cloud",
|
11
|
+
subcommand ['list'], "List user tests from the cloud", Test::ListCommand
|
12
|
+
subcommand ['upload'], "Upload test to the cloud", Test::UploadCommand
|
13
|
+
subcommand ['delete'], "Delete test from the cloud", Test::DeleteCommand
|
14
14
|
|
15
15
|
def self.run
|
16
16
|
super
|
File without changes
|
@@ -4,11 +4,11 @@ require_relative 'webdriver/list_command'
|
|
4
4
|
require_relative 'webdriver/delete_command'
|
5
5
|
|
6
6
|
module Superbot
|
7
|
-
module
|
8
|
-
module
|
7
|
+
module Cloud
|
8
|
+
module CLI
|
9
9
|
class WebdriverCommand < Clamp::Command
|
10
|
-
subcommand ['list'], "List all webdriver sessions",
|
11
|
-
subcommand ['delete'], "Terminate and finish specific session",
|
10
|
+
subcommand ['list'], "List all webdriver sessions", Webdriver::ListCommand
|
11
|
+
subcommand ['delete'], "Terminate and finish specific session", Webdriver::DeleteCommand
|
12
12
|
|
13
13
|
def self.run
|
14
14
|
super
|
@@ -0,0 +1,16 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Superbot
|
4
|
+
module Cloud
|
5
|
+
module Web
|
6
|
+
def self.register(sinatra)
|
7
|
+
sinatra.get "/login" do
|
8
|
+
credentials = request.params.slice('username', 'email', 'token')
|
9
|
+
Superbot::Cloud.save_credentials(credentials)
|
10
|
+
sinatra.quit!
|
11
|
+
redirect "#{Superbot::Cloud::LOGIN_URI}/success?username=#{Superbot::Cloud.credentials[:username]}"
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
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.1.
|
39
|
+
spec.add_development_dependency "superbot", "~> 0.1.28"
|
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.1.
|
4
|
+
version: 0.1.19
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Superbots
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-
|
11
|
+
date: 2018-12-10 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.1.
|
47
|
+
version: 0.1.28
|
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.1.
|
54
|
+
version: 0.1.28
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: bundler
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
@@ -134,22 +134,21 @@ files:
|
|
134
134
|
- lib/superbot/cloud.rb
|
135
135
|
- lib/superbot/cloud/api.rb
|
136
136
|
- lib/superbot/cloud/cli.rb
|
137
|
-
- lib/superbot/cloud/cli/
|
138
|
-
- lib/superbot/cloud/cli/
|
139
|
-
- lib/superbot/cloud/cli/
|
140
|
-
- lib/superbot/cloud/cli/cloud/test/delete_command.rb
|
141
|
-
- lib/superbot/cloud/cli/cloud/test/list_command.rb
|
142
|
-
- lib/superbot/cloud/cli/cloud/test/upload_command.rb
|
143
|
-
- lib/superbot/cloud/cli/cloud/test_command.rb
|
144
|
-
- lib/superbot/cloud/cli/cloud/validations.rb
|
145
|
-
- lib/superbot/cloud/cli/cloud/version_command.rb
|
146
|
-
- lib/superbot/cloud/cli/cloud/webdriver/delete_command.rb
|
147
|
-
- lib/superbot/cloud/cli/cloud/webdriver/list_command.rb
|
148
|
-
- lib/superbot/cloud/cli/cloud/webdriver_command.rb
|
149
|
-
- lib/superbot/cloud/cli/cloud_command.rb
|
137
|
+
- lib/superbot/cloud/cli/login_command.rb
|
138
|
+
- lib/superbot/cloud/cli/organization/list_command.rb
|
139
|
+
- lib/superbot/cloud/cli/organization_command.rb
|
150
140
|
- lib/superbot/cloud/cli/root_command.rb
|
141
|
+
- lib/superbot/cloud/cli/test/delete_command.rb
|
142
|
+
- lib/superbot/cloud/cli/test/list_command.rb
|
143
|
+
- lib/superbot/cloud/cli/test/upload_command.rb
|
144
|
+
- lib/superbot/cloud/cli/test_command.rb
|
145
|
+
- lib/superbot/cloud/cli/validations.rb
|
146
|
+
- lib/superbot/cloud/cli/version_command.rb
|
147
|
+
- lib/superbot/cloud/cli/webdriver/delete_command.rb
|
148
|
+
- lib/superbot/cloud/cli/webdriver/list_command.rb
|
149
|
+
- lib/superbot/cloud/cli/webdriver_command.rb
|
151
150
|
- lib/superbot/cloud/version.rb
|
152
|
-
- lib/superbot/cloud/
|
151
|
+
- lib/superbot/cloud/web.rb
|
153
152
|
- superbot-cloud.gemspec
|
154
153
|
homepage: https://github.com/superbothq/superbot-cloud
|
155
154
|
licenses:
|
@@ -1,32 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require_relative "cloud/validations"
|
4
|
-
require_relative 'cloud/login_command'
|
5
|
-
require_relative 'cloud/version_command'
|
6
|
-
require_relative 'cloud/organization_command'
|
7
|
-
require_relative 'cloud/test_command'
|
8
|
-
require_relative 'cloud/webdriver_command'
|
9
|
-
|
10
|
-
module Superbot
|
11
|
-
module CLI
|
12
|
-
class CloudCommand < Clamp::Command
|
13
|
-
subcommand ['version'], 'Superbot cloud version', Cloud::VersionCommand
|
14
|
-
subcommand ['login'], 'Login to superbot cloud', Cloud::LoginCommand
|
15
|
-
subcommand(['org'], 'Manage your organizations', Cloud::OrganizationCommand)
|
16
|
-
subcommand ['test'], "Manage your tests", Cloud::TestCommand
|
17
|
-
subcommand ['webdriver'], "Manage your webdriver sessions", Cloud::WebdriverCommand
|
18
|
-
|
19
|
-
option ['-v', '--version'], :flag, "Show version information" do
|
20
|
-
puts Superbot::Cloud::VERSION
|
21
|
-
exit 0
|
22
|
-
end
|
23
|
-
|
24
|
-
def self.run
|
25
|
-
super
|
26
|
-
rescue StandardError => exc
|
27
|
-
warn exc.message
|
28
|
-
warn exc.backtrace.join("\n")
|
29
|
-
end
|
30
|
-
end
|
31
|
-
end
|
32
|
-
end
|
@@ -1,53 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require 'sinatra'
|
4
|
-
require "sinatra/silent"
|
5
|
-
require 'fileutils'
|
6
|
-
|
7
|
-
module Superbot
|
8
|
-
module Cloud
|
9
|
-
class WebLogin
|
10
|
-
def initialize
|
11
|
-
@sinatra = Sinatra.new do
|
12
|
-
set :bind, "127.0.0.1"
|
13
|
-
set :silent_sinatra, true
|
14
|
-
set :silent_webrick, true
|
15
|
-
set :silent_access_log, false
|
16
|
-
server_settings[:Silent] = true
|
17
|
-
instance = self
|
18
|
-
|
19
|
-
get "/login" do
|
20
|
-
credentials = request.params.slice('username', 'email', 'token')
|
21
|
-
Superbot::Cloud.save_credentials(credentials)
|
22
|
-
instance.quit!
|
23
|
-
redirect "#{Superbot::Cloud::LOGIN_URI}/success?username=#{Superbot::Cloud.credentials[:username]}"
|
24
|
-
end
|
25
|
-
end
|
26
|
-
end
|
27
|
-
|
28
|
-
def self.run!
|
29
|
-
new.run!
|
30
|
-
end
|
31
|
-
|
32
|
-
def run!
|
33
|
-
@sinatra.run_async!
|
34
|
-
end
|
35
|
-
|
36
|
-
def running?
|
37
|
-
@sinatra.running?
|
38
|
-
end
|
39
|
-
|
40
|
-
def run_async_after_running!
|
41
|
-
Thread.new do
|
42
|
-
@sinatra.run!
|
43
|
-
end
|
44
|
-
|
45
|
-
loop do
|
46
|
-
break if running?
|
47
|
-
|
48
|
-
sleep 0.001
|
49
|
-
end
|
50
|
-
end
|
51
|
-
end
|
52
|
-
end
|
53
|
-
end
|