roku_builder 3.3.3 → 3.3.4
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/.gitignore +1 -0
- data/.rubocop.yml +1158 -0
- data/.travis.yml +3 -0
- data/Gemfile.lock +19 -14
- data/README.md +5 -0
- data/bin/roku +32 -37
- data/config.json.example +2 -2
- data/lib/roku_builder/config_manager.rb +83 -118
- data/lib/roku_builder/config_parser.rb +192 -0
- data/lib/roku_builder/config_validator.rb +125 -0
- data/lib/roku_builder/controller.rb +97 -484
- data/lib/roku_builder/controller_commands.rb +112 -0
- data/lib/roku_builder/error_handler.rb +116 -0
- data/lib/roku_builder/inspector.rb +5 -18
- data/lib/roku_builder/keyer.rb +3 -11
- data/lib/roku_builder/linker.rb +3 -15
- data/lib/roku_builder/loader.rb +52 -89
- data/lib/roku_builder/manifest_manager.rb +2 -3
- data/lib/roku_builder/monitor.rb +15 -12
- data/lib/roku_builder/navigator.rb +2 -10
- data/lib/roku_builder/packager.rb +1 -7
- data/lib/roku_builder/tester.rb +1 -0
- data/lib/roku_builder/util.rb +39 -0
- data/lib/roku_builder/version.rb +1 -1
- data/lib/roku_builder.rb +96 -1
- data/roku_builder.gemspec +5 -4
- data/tests/roku_builder/config_manager_test.rb +80 -241
- data/tests/roku_builder/{controller_config_test.rb → config_parser_test.rb} +5 -5
- data/tests/roku_builder/config_validator_test.rb +158 -0
- data/tests/roku_builder/controller_commands_test.rb +304 -0
- data/tests/roku_builder/controller_test.rb +61 -620
- data/tests/roku_builder/error_handler_test.rb +76 -0
- data/tests/roku_builder/inspector_test.rb +3 -0
- data/tests/roku_builder/keyer_test.rb +3 -2
- data/tests/roku_builder/linker_test.rb +2 -1
- data/tests/roku_builder/loader_test.rb +2 -0
- data/tests/roku_builder/manifest_manager_test.rb +3 -6
- data/tests/roku_builder/monitor_test.rb +5 -13
- data/tests/roku_builder/navigator_test.rb +2 -0
- data/tests/roku_builder/test_helper.rb +38 -0
- metadata +34 -11
|
@@ -0,0 +1,158 @@
|
|
|
1
|
+
require_relative "test_helper.rb"
|
|
2
|
+
|
|
3
|
+
class ConfigValidatorTest < Minitest::Test
|
|
4
|
+
|
|
5
|
+
def test_config_manager_validate_devices
|
|
6
|
+
config = good_config
|
|
7
|
+
config[:devices] = nil
|
|
8
|
+
codes = RokuBuilder::ConfigValidator.validate_config(config: config)
|
|
9
|
+
assert_equal [1], codes
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
def test_config_manager_validate_devices_default
|
|
13
|
+
config = good_config
|
|
14
|
+
config[:devices][:default] = nil
|
|
15
|
+
codes = RokuBuilder::ConfigValidator.validate_config(config: config)
|
|
16
|
+
assert_equal [2], codes
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
def test_config_manager_validate_devices_default_is_symbol
|
|
20
|
+
config = good_config
|
|
21
|
+
config[:devices][:default] = "bad"
|
|
22
|
+
codes = RokuBuilder::ConfigValidator.validate_config(config: config)
|
|
23
|
+
assert_equal [3], codes
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
def test_config_manager_validate_device_ip
|
|
27
|
+
config = good_config
|
|
28
|
+
config[:devices][:roku][:ip] = nil
|
|
29
|
+
codes = RokuBuilder::ConfigValidator.validate_config(config: config)
|
|
30
|
+
assert_equal [7], codes
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
def test_config_manager_validate_device_ip_empty
|
|
34
|
+
config = good_config
|
|
35
|
+
config[:devices][:roku][:ip] = ""
|
|
36
|
+
codes = RokuBuilder::ConfigValidator.validate_config(config: config)
|
|
37
|
+
assert_equal [7], codes
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
def test_config_manager_validate_device_ip_default_value
|
|
41
|
+
config = good_config
|
|
42
|
+
config[:devices][:roku][:ip] = "xxx.xxx.xxx.xxx"
|
|
43
|
+
codes = RokuBuilder::ConfigValidator.validate_config(config: config)
|
|
44
|
+
assert_equal [7], codes
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
def test_config_manager_validate_device_user
|
|
48
|
+
config = good_config
|
|
49
|
+
config[:devices][:roku][:user] = nil
|
|
50
|
+
codes = RokuBuilder::ConfigValidator.validate_config(config: config)
|
|
51
|
+
assert_equal [8], codes
|
|
52
|
+
end
|
|
53
|
+
|
|
54
|
+
def test_config_manager_validate_device_user_empty
|
|
55
|
+
config = good_config
|
|
56
|
+
config[:devices][:roku][:user] = ""
|
|
57
|
+
codes = RokuBuilder::ConfigValidator.validate_config(config: config)
|
|
58
|
+
assert_equal [8], codes
|
|
59
|
+
end
|
|
60
|
+
|
|
61
|
+
def test_config_manager_validate_device_user_default_value
|
|
62
|
+
config = good_config
|
|
63
|
+
config[:devices][:roku][:user] = "<username>"
|
|
64
|
+
codes = RokuBuilder::ConfigValidator.validate_config(config: config)
|
|
65
|
+
assert_equal [8], codes
|
|
66
|
+
end
|
|
67
|
+
|
|
68
|
+
def test_config_manager_validate_device_password
|
|
69
|
+
config = good_config
|
|
70
|
+
config[:devices][:roku][:password] = nil
|
|
71
|
+
codes = RokuBuilder::ConfigValidator.validate_config(config: config)
|
|
72
|
+
assert_equal [9], codes
|
|
73
|
+
end
|
|
74
|
+
|
|
75
|
+
def test_config_manager_validate_device_password_empty
|
|
76
|
+
config = good_config
|
|
77
|
+
config[:devices][:roku][:password] = ""
|
|
78
|
+
codes = RokuBuilder::ConfigValidator.validate_config(config: config)
|
|
79
|
+
assert_equal [9], codes
|
|
80
|
+
end
|
|
81
|
+
|
|
82
|
+
def test_config_manager_validate_device_password_default_value
|
|
83
|
+
config = good_config
|
|
84
|
+
config[:devices][:roku][:password] = "<password>"
|
|
85
|
+
codes = RokuBuilder::ConfigValidator.validate_config(config: config)
|
|
86
|
+
assert_equal [9], codes
|
|
87
|
+
end
|
|
88
|
+
|
|
89
|
+
def test_config_manager_validate_projects
|
|
90
|
+
config = good_config
|
|
91
|
+
config[:projects] = nil
|
|
92
|
+
codes = RokuBuilder::ConfigValidator.validate_config(config: config)
|
|
93
|
+
assert_equal [4], codes
|
|
94
|
+
end
|
|
95
|
+
|
|
96
|
+
def test_config_manager_validate_projects_default
|
|
97
|
+
config = good_config
|
|
98
|
+
config[:projects][:default] = nil
|
|
99
|
+
codes = RokuBuilder::ConfigValidator.validate_config(config: config)
|
|
100
|
+
assert_equal [5], codes
|
|
101
|
+
end
|
|
102
|
+
|
|
103
|
+
def test_config_manager_validate_projects_default_default_value
|
|
104
|
+
config = good_config
|
|
105
|
+
config[:projects][:default] = "<project id>".to_sym
|
|
106
|
+
codes = RokuBuilder::ConfigValidator.validate_config(config: config)
|
|
107
|
+
assert_equal [5], codes
|
|
108
|
+
end
|
|
109
|
+
|
|
110
|
+
def test_config_manager_validate_projects_default_is_symbol
|
|
111
|
+
config = good_config
|
|
112
|
+
config[:projects][:default] = "project_id"
|
|
113
|
+
codes = RokuBuilder::ConfigValidator.validate_config(config: config)
|
|
114
|
+
assert_equal [6], codes
|
|
115
|
+
end
|
|
116
|
+
|
|
117
|
+
def test_config_manager_validate_project_app_name
|
|
118
|
+
config = good_config
|
|
119
|
+
config[:projects][:project1][:app_name] = nil
|
|
120
|
+
codes = RokuBuilder::ConfigValidator.validate_config(config: config)
|
|
121
|
+
assert_equal [10], codes
|
|
122
|
+
end
|
|
123
|
+
|
|
124
|
+
def test_config_manager_validate_project_directory
|
|
125
|
+
config = good_config
|
|
126
|
+
config[:projects][:project1][:directory] = nil
|
|
127
|
+
codes = RokuBuilder::ConfigValidator.validate_config(config: config)
|
|
128
|
+
assert_equal [11], codes
|
|
129
|
+
end
|
|
130
|
+
|
|
131
|
+
def test_config_manager_validate_project_folders
|
|
132
|
+
config = good_config
|
|
133
|
+
config[:projects][:project1][:folders] = nil
|
|
134
|
+
codes = RokuBuilder::ConfigValidator.validate_config(config: config)
|
|
135
|
+
assert_equal [12], codes
|
|
136
|
+
end
|
|
137
|
+
|
|
138
|
+
def test_config_manager_validate_project_folders_is_array
|
|
139
|
+
config = good_config
|
|
140
|
+
config[:projects][:project1][:folders] = "Folders"
|
|
141
|
+
codes = RokuBuilder::ConfigValidator.validate_config(config: config)
|
|
142
|
+
assert_equal [13], codes
|
|
143
|
+
end
|
|
144
|
+
|
|
145
|
+
def test_config_manager_validate_project_files
|
|
146
|
+
config = good_config
|
|
147
|
+
config[:projects][:project1][:files] = nil
|
|
148
|
+
codes = RokuBuilder::ConfigValidator.validate_config(config: config)
|
|
149
|
+
assert_equal [14], codes
|
|
150
|
+
end
|
|
151
|
+
|
|
152
|
+
def test_config_manager_validate_project_filess_is_array
|
|
153
|
+
config = good_config
|
|
154
|
+
config[:projects][:project1][:files] = "Files"
|
|
155
|
+
codes = RokuBuilder::ConfigValidator.validate_config(config: config)
|
|
156
|
+
assert_equal [15], codes
|
|
157
|
+
end
|
|
158
|
+
end
|
|
@@ -0,0 +1,304 @@
|
|
|
1
|
+
require_relative "test_helper.rb"
|
|
2
|
+
|
|
3
|
+
class ControllerCommandsTest < Minitest::Test
|
|
4
|
+
|
|
5
|
+
def test_controller_commands_sideload
|
|
6
|
+
logger = Logger.new("/dev/null")
|
|
7
|
+
loader = Minitest::Mock.new
|
|
8
|
+
|
|
9
|
+
options = {sideload: true, stage: 'production', config: "~/.roku_config.rb"}
|
|
10
|
+
config = good_config
|
|
11
|
+
code, configs = RokuBuilder::ConfigParser.parse_config(options: options, config: config, logger: logger)
|
|
12
|
+
# Test Success
|
|
13
|
+
loader.expect(:sideload, true, [configs[:sideload_config]])
|
|
14
|
+
RokuBuilder::Loader.stub(:new, loader) do
|
|
15
|
+
code = RokuBuilder::Controller.send(:execute_commands, {options: options, config: config, configs: configs, logger: logger})
|
|
16
|
+
end
|
|
17
|
+
assert_equal RokuBuilder::SUCCESS, code
|
|
18
|
+
|
|
19
|
+
# Test Failure
|
|
20
|
+
loader.expect(:sideload, false, [configs[:sideload_config]])
|
|
21
|
+
RokuBuilder::Loader.stub(:new, loader) do
|
|
22
|
+
code = RokuBuilder::Controller.send(:execute_commands, {options: options, config: config, configs: configs, logger: logger})
|
|
23
|
+
end
|
|
24
|
+
assert_equal RokuBuilder::FAILED_SIDELOAD, code
|
|
25
|
+
|
|
26
|
+
loader.verify
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
def test_controller_commands_package
|
|
30
|
+
logger = Logger.new("/dev/null")
|
|
31
|
+
keyer = Minitest::Mock.new
|
|
32
|
+
loader = Minitest::Mock.new
|
|
33
|
+
packager = Minitest::Mock.new
|
|
34
|
+
inspector = Minitest::Mock.new
|
|
35
|
+
|
|
36
|
+
options = {package: true, inspect: true, stage: 'production', out_folder: "/tmp", config: "~/.roku_config.json"}
|
|
37
|
+
config = good_config
|
|
38
|
+
code, configs = RokuBuilder::ConfigParser.parse_config(options: options, config: config, logger: logger)
|
|
39
|
+
info = {app_name: "app", dev_id: "id", creation_date: "date", dev_zip: ""}
|
|
40
|
+
|
|
41
|
+
loader.expect(:sideload, "build_version", [configs[:sideload_config]])
|
|
42
|
+
keyer.expect(:rekey, true, [configs[:key]])
|
|
43
|
+
packager.expect(:package, true, [configs[:package_config]])
|
|
44
|
+
inspector.expect(:inspect, info, [configs[:inspect_config]])
|
|
45
|
+
|
|
46
|
+
code = nil
|
|
47
|
+
RokuBuilder::Keyer.stub(:new, keyer) do
|
|
48
|
+
RokuBuilder::Loader.stub(:new, loader) do
|
|
49
|
+
RokuBuilder::Packager.stub(:new, packager) do
|
|
50
|
+
RokuBuilder::Inspector.stub(:new, inspector) do
|
|
51
|
+
code = RokuBuilder::Controller.send(:execute_commands, {options: options, config: config, configs: configs, logger: logger})
|
|
52
|
+
end
|
|
53
|
+
end
|
|
54
|
+
end
|
|
55
|
+
end
|
|
56
|
+
assert_equal RokuBuilder::SUCCESS, code
|
|
57
|
+
|
|
58
|
+
keyer.verify
|
|
59
|
+
loader.verify
|
|
60
|
+
packager.verify
|
|
61
|
+
inspector.verify
|
|
62
|
+
end
|
|
63
|
+
|
|
64
|
+
def test_controller_commands_package_outfile
|
|
65
|
+
logger = Logger.new("/dev/null")
|
|
66
|
+
keyer = Minitest::Mock.new
|
|
67
|
+
loader = Minitest::Mock.new
|
|
68
|
+
packager = Minitest::Mock.new
|
|
69
|
+
inspector = Minitest::Mock.new
|
|
70
|
+
|
|
71
|
+
options = {package: true, inspect: true, stage: 'production', out: "/tmp/out.pkg", config: "~/.roku_config.json"}
|
|
72
|
+
config = good_config
|
|
73
|
+
code, configs = RokuBuilder::ConfigParser.parse_config(options: options, config: config, logger: logger)
|
|
74
|
+
info = {app_name: "app", dev_id: "id", creation_date: "date", dev_zip: ""}
|
|
75
|
+
|
|
76
|
+
loader.expect(:sideload, "build_version", [configs[:sideload_config]])
|
|
77
|
+
keyer.expect(:rekey, true, [configs[:key]])
|
|
78
|
+
packager.expect(:package, true, [configs[:package_config]])
|
|
79
|
+
inspector.expect(:inspect, info, [configs[:inspect_config]])
|
|
80
|
+
|
|
81
|
+
code = nil
|
|
82
|
+
RokuBuilder::Keyer.stub(:new, keyer) do
|
|
83
|
+
RokuBuilder::Loader.stub(:new, loader) do
|
|
84
|
+
RokuBuilder::Packager.stub(:new, packager) do
|
|
85
|
+
RokuBuilder::Inspector.stub(:new, inspector) do
|
|
86
|
+
code = RokuBuilder::Controller.send(:execute_commands, {options: options, config: config, configs: configs, logger: logger})
|
|
87
|
+
end
|
|
88
|
+
end
|
|
89
|
+
end
|
|
90
|
+
end
|
|
91
|
+
assert_equal RokuBuilder::SUCCESS, code
|
|
92
|
+
|
|
93
|
+
keyer.verify
|
|
94
|
+
loader.verify
|
|
95
|
+
packager.verify
|
|
96
|
+
inspector.verify
|
|
97
|
+
end
|
|
98
|
+
|
|
99
|
+
def test_controller_commands_build
|
|
100
|
+
logger = Logger.new("/dev/null")
|
|
101
|
+
loader = Minitest::Mock.new
|
|
102
|
+
|
|
103
|
+
code = nil
|
|
104
|
+
options = {build: true, stage: 'production', out_folder: "/tmp", config: "~/.roku_config.json"}
|
|
105
|
+
config = good_config
|
|
106
|
+
code, configs = RokuBuilder::ConfigParser.parse_config(options: options, config: config, logger: logger)
|
|
107
|
+
loader.expect(:build, "/tmp/build", [configs[:build_config]])
|
|
108
|
+
RokuBuilder::Loader.stub(:new, loader) do
|
|
109
|
+
RokuBuilder::ManifestManager.stub(:build_version, "1") do
|
|
110
|
+
code = RokuBuilder::Controller.send(:execute_commands, {options: options, config: config, configs: configs, logger: logger})
|
|
111
|
+
end
|
|
112
|
+
end
|
|
113
|
+
assert_equal RokuBuilder::SUCCESS, code
|
|
114
|
+
loader.verify
|
|
115
|
+
end
|
|
116
|
+
def test_controller_commands_update
|
|
117
|
+
logger = Logger.new("/dev/null")
|
|
118
|
+
mock = Minitest::Mock.new
|
|
119
|
+
|
|
120
|
+
code = nil
|
|
121
|
+
options = {update: true, stage: 'production', out_folder: "/tmp", config: ":execute_commands,/.roku_config.json"}
|
|
122
|
+
config = good_config
|
|
123
|
+
code, configs = RokuBuilder::ConfigParser.parse_config(options: options, config: config, logger: logger)
|
|
124
|
+
mock.expect(:call, "1", [configs[:manifest_config]])
|
|
125
|
+
mock.expect(:call, "2", [configs[:manifest_config]])
|
|
126
|
+
RokuBuilder::ManifestManager.stub(:build_version, mock) do
|
|
127
|
+
RokuBuilder::ManifestManager.stub(:update_build, mock) do
|
|
128
|
+
code = RokuBuilder::Controller.send(:execute_commands, {options: options, config: config, configs: configs, logger: logger})
|
|
129
|
+
end
|
|
130
|
+
end
|
|
131
|
+
mock.verify
|
|
132
|
+
assert_equal RokuBuilder::SUCCESS, code
|
|
133
|
+
end
|
|
134
|
+
|
|
135
|
+
def test_controller_commands_deeplink
|
|
136
|
+
logger = Logger.new("/dev/null")
|
|
137
|
+
mock = Minitest::Mock.new
|
|
138
|
+
|
|
139
|
+
code = nil
|
|
140
|
+
options = {deeplink: true, stage: 'production', deeplink_options: "a:b", config: ":execute_commands,/.roku_config.json"}
|
|
141
|
+
config = good_config
|
|
142
|
+
code, configs = RokuBuilder::ConfigParser.parse_config(options: options, config: config, logger: logger)
|
|
143
|
+
mock.expect(:link, "true", [configs[:deeplink_config]])
|
|
144
|
+
RokuBuilder::Linker.stub(:new, mock) do
|
|
145
|
+
code = RokuBuilder::Controller.send(:execute_commands, {options: options, config: config, configs: configs, logger: logger})
|
|
146
|
+
end
|
|
147
|
+
mock.verify
|
|
148
|
+
assert_equal RokuBuilder::SUCCESS, code
|
|
149
|
+
end
|
|
150
|
+
def test_controller_commands_delete
|
|
151
|
+
logger = Logger.new("/dev/null")
|
|
152
|
+
loader = Minitest::Mock.new
|
|
153
|
+
|
|
154
|
+
options = {delete: true, stage: 'production', config: ":execute_commands,/.roku_config.json"}
|
|
155
|
+
config = good_config
|
|
156
|
+
code, configs = RokuBuilder::ConfigParser.parse_config(options: options, config: config, logger: logger)
|
|
157
|
+
loader.expect(:unload, nil)
|
|
158
|
+
code = nil
|
|
159
|
+
RokuBuilder::Loader.stub(:new, loader) do
|
|
160
|
+
RokuBuilder::ManifestManager.stub(:build_version, "1") do
|
|
161
|
+
code = RokuBuilder::Controller.send(:execute_commands, {options: options, config: config, configs: configs, logger: logger})
|
|
162
|
+
end
|
|
163
|
+
end
|
|
164
|
+
assert_equal RokuBuilder::SUCCESS, code
|
|
165
|
+
loader.verify
|
|
166
|
+
end
|
|
167
|
+
def test_controller_commands_monitor
|
|
168
|
+
logger = Logger.new("/dev/null")
|
|
169
|
+
monitor = Minitest::Mock.new
|
|
170
|
+
|
|
171
|
+
options = {monitor: "main", stage: 'production', config: ":execute_commands,/.roku_config.json"}
|
|
172
|
+
config = good_config
|
|
173
|
+
code, configs = RokuBuilder::ConfigParser.parse_config(options: options, config: config, logger: logger)
|
|
174
|
+
monitor.expect(:monitor, nil, [configs[:monitor_config]])
|
|
175
|
+
code = nil
|
|
176
|
+
RokuBuilder::Monitor.stub(:new, monitor) do
|
|
177
|
+
RokuBuilder::ManifestManager.stub(:build_version, "1") do
|
|
178
|
+
code = RokuBuilder::Controller.send(:execute_commands, {options: options, config: config, configs: configs, logger: logger})
|
|
179
|
+
end
|
|
180
|
+
end
|
|
181
|
+
assert_equal RokuBuilder::SUCCESS, code
|
|
182
|
+
monitor.verify
|
|
183
|
+
end
|
|
184
|
+
def test_controller_commands_navigate
|
|
185
|
+
logger = Logger.new("/dev/null")
|
|
186
|
+
navigator = Minitest::Mock.new
|
|
187
|
+
|
|
188
|
+
options = {navigate: "up", stage: 'production', config: ":execute_commands,/.roku_config.json"}
|
|
189
|
+
config = good_config
|
|
190
|
+
code, configs = RokuBuilder::ConfigParser.parse_config(options: options, config: config, logger: logger)
|
|
191
|
+
navigator.expect(:nav, true, [configs[:navigate_config]])
|
|
192
|
+
code = nil
|
|
193
|
+
RokuBuilder::Navigator.stub(:new, navigator) do
|
|
194
|
+
code = RokuBuilder::Controller.send(:execute_commands, {options: options, config: config, configs: configs, logger: logger})
|
|
195
|
+
end
|
|
196
|
+
assert_equal RokuBuilder::SUCCESS, code
|
|
197
|
+
navigator.verify
|
|
198
|
+
end
|
|
199
|
+
def test_controller_commands_navigate_fail
|
|
200
|
+
logger = Logger.new("/dev/null")
|
|
201
|
+
navigator = Minitest::Mock.new
|
|
202
|
+
|
|
203
|
+
options = {navigate: "up", stage: 'production', config: ":execute_commands,/.roku_config.json"}
|
|
204
|
+
config = good_config
|
|
205
|
+
code, configs = RokuBuilder::ConfigParser.parse_config(options: options, config: config, logger: logger)
|
|
206
|
+
navigator.expect(:nav, nil, [configs[:navigate_config]])
|
|
207
|
+
code = nil
|
|
208
|
+
RokuBuilder::Navigator.stub(:new, navigator) do
|
|
209
|
+
code = RokuBuilder::Controller.send(:execute_commands, {options: options, config: config, configs: configs, logger: logger})
|
|
210
|
+
end
|
|
211
|
+
assert_equal RokuBuilder::FAILED_NAVIGATING, code
|
|
212
|
+
navigator.verify
|
|
213
|
+
end
|
|
214
|
+
def test_controller_commands_screen
|
|
215
|
+
logger = Logger.new("/dev/null")
|
|
216
|
+
navigator = Minitest::Mock.new
|
|
217
|
+
|
|
218
|
+
options = {screen: "secret", stage: 'production', config: ":execute_commands,/.roku_config.json"}
|
|
219
|
+
config = good_config
|
|
220
|
+
code, configs = RokuBuilder::ConfigParser.parse_config(options: options, config: config, logger: logger)
|
|
221
|
+
navigator.expect(:screen, true, [configs[:screen_config]])
|
|
222
|
+
code = nil
|
|
223
|
+
RokuBuilder::Navigator.stub(:new, navigator) do
|
|
224
|
+
code = RokuBuilder::Controller.send(:execute_commands, {options: options, config: config, configs: configs, logger: logger})
|
|
225
|
+
end
|
|
226
|
+
assert_equal RokuBuilder::SUCCESS, code
|
|
227
|
+
navigator.verify
|
|
228
|
+
end
|
|
229
|
+
def test_controller_commands_screens
|
|
230
|
+
logger = Logger.new("/dev/null")
|
|
231
|
+
navigator = Minitest::Mock.new
|
|
232
|
+
|
|
233
|
+
options = {screens: true, stage: 'production', config: ":execute_commands,/.roku_config.json"}
|
|
234
|
+
config = good_config
|
|
235
|
+
code, configs = RokuBuilder::ConfigParser.parse_config(options: options, config: config, logger: logger)
|
|
236
|
+
navigator.expect(:screens, true)
|
|
237
|
+
code = nil
|
|
238
|
+
RokuBuilder::Navigator.stub(:new, navigator) do
|
|
239
|
+
code = RokuBuilder::Controller.send(:execute_commands, {options: options, config: config, configs: configs, logger: logger})
|
|
240
|
+
end
|
|
241
|
+
assert_equal RokuBuilder::SUCCESS, code
|
|
242
|
+
navigator.verify
|
|
243
|
+
end
|
|
244
|
+
def test_controller_commands_text
|
|
245
|
+
logger = Logger.new("/dev/null")
|
|
246
|
+
navigator = Minitest::Mock.new
|
|
247
|
+
|
|
248
|
+
options = {text: "text string", stage: 'production', config: ":execute_commands,/.roku_config.json"}
|
|
249
|
+
config = good_config
|
|
250
|
+
code, configs = RokuBuilder::ConfigParser.parse_config(options: options, config: config, logger: logger)
|
|
251
|
+
navigator.expect(:type, true, [configs[:text_config]])
|
|
252
|
+
code = nil
|
|
253
|
+
RokuBuilder::Navigator.stub(:new, navigator) do
|
|
254
|
+
code = RokuBuilder::Controller.send(:execute_commands, {options: options, config: config, configs: configs, logger: logger})
|
|
255
|
+
end
|
|
256
|
+
assert_equal RokuBuilder::SUCCESS, code
|
|
257
|
+
navigator.verify
|
|
258
|
+
end
|
|
259
|
+
def test_controller_commands_test
|
|
260
|
+
logger = Logger.new("/dev/null")
|
|
261
|
+
tester = Minitest::Mock.new
|
|
262
|
+
|
|
263
|
+
options = {test: true, stage: 'production', config: ":execute_commands,/.roku_config.json"}
|
|
264
|
+
config = good_config
|
|
265
|
+
code, configs = RokuBuilder::ConfigParser.parse_config(options: options, config: config, logger: logger)
|
|
266
|
+
tester.expect(:run_tests, true, [configs[:test_config]])
|
|
267
|
+
code = nil
|
|
268
|
+
RokuBuilder::Tester.stub(:new, tester) do
|
|
269
|
+
code = RokuBuilder::Controller.send(:execute_commands, {options: options, config: config, configs: configs, logger: logger})
|
|
270
|
+
end
|
|
271
|
+
assert_equal RokuBuilder::SUCCESS, code
|
|
272
|
+
tester.verify
|
|
273
|
+
end
|
|
274
|
+
def test_controller_commands_screencapture
|
|
275
|
+
logger = Logger.new("/dev/null")
|
|
276
|
+
inspector = Minitest::Mock.new
|
|
277
|
+
|
|
278
|
+
options = {screencapture: true, stage: 'production', out: "/tmp/capture.jpg", config: ":execute_commands,/.roku_config.json"}
|
|
279
|
+
config = good_config
|
|
280
|
+
code, configs = RokuBuilder::ConfigParser.parse_config(options: options, config: config, logger: logger)
|
|
281
|
+
inspector.expect(:screencapture, true, [configs[:screencapture_config]])
|
|
282
|
+
code = nil
|
|
283
|
+
RokuBuilder::Inspector.stub(:new, inspector) do
|
|
284
|
+
code = RokuBuilder::Controller.send(:execute_commands, {options: options, config: config, configs: configs, logger: logger})
|
|
285
|
+
end
|
|
286
|
+
assert_equal RokuBuilder::SUCCESS, code
|
|
287
|
+
inspector.verify
|
|
288
|
+
end
|
|
289
|
+
def test_controller_commands_screencapture_fail
|
|
290
|
+
logger = Logger.new("/dev/null")
|
|
291
|
+
inspector = Minitest::Mock.new
|
|
292
|
+
|
|
293
|
+
options = {screencapture: true, stage: 'production', out: "/tmp", config: ":execute_commands,/.roku_config.json"}
|
|
294
|
+
config = good_config
|
|
295
|
+
code, configs = RokuBuilder::ConfigParser.parse_config(options: options, config: config, logger: logger)
|
|
296
|
+
inspector.expect(:screencapture, false, [configs[:screencapture_config]])
|
|
297
|
+
code = nil
|
|
298
|
+
RokuBuilder::Inspector.stub(:new, inspector) do
|
|
299
|
+
code = RokuBuilder::Controller.send(:execute_commands, {options: options, config: config, configs: configs, logger: logger})
|
|
300
|
+
end
|
|
301
|
+
assert_equal RokuBuilder::FAILED_SCREENCAPTURE, code
|
|
302
|
+
inspector.verify
|
|
303
|
+
end
|
|
304
|
+
end
|