roku_builder 3.6.0 → 3.6.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile.lock +1 -1
- data/bin/roku +4 -0
- data/lib/roku_builder/config_parser.rb +1 -1
- data/lib/roku_builder/controller.rb +0 -2
- data/lib/roku_builder/version.rb +1 -1
- data/tests/roku_builder/config_manager_test.rb +16 -0
- data/tests/roku_builder/config_parser_test.rb +83 -0
- data/tests/roku_builder/controller_commands_test.rb +44 -0
- data/tests/roku_builder/controller_test.rb +5 -0
- data/tests/roku_builder/loader_test.rb +59 -0
- data/tests/roku_builder/manifest_manager_test.rb +25 -0
- data/tests/roku_builder/monitor_test.rb +31 -0
- data/tests/roku_builder/stager_test.rb +12 -0
- data/tests/roku_builder/test_files/manifest_manager_test/test.zip +0 -0
- data/tests/roku_builder/tester_test.rb +37 -0
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5fd419ef8714c1ee725684939cff69165e1daac9
|
4
|
+
data.tar.gz: 6fc59c0b8453ee8ea26f765b493892044faacf68
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 601f919047c348e2511456e37c5a5810df71f273fbc9005671cd1af815e251546ff4939334473e7a1010c84e2d23fce68ad4f0c7c5936584d15a95816e37772a
|
7
|
+
data.tar.gz: a015de3a94792cfa7d8051f305834cb3c99f1139f2be004ce519cdd6213e870cf51525233a99005cca4a1edf8026fb8bcb712cb1f47bb827a75ccb5d7c40eaff
|
data/Gemfile.lock
CHANGED
data/bin/roku
CHANGED
@@ -133,6 +133,10 @@ OptionParser.new do |opts|
|
|
133
133
|
options[:in] = i
|
134
134
|
end
|
135
135
|
|
136
|
+
opts.on("-x", "--exclude", "Apply exclude config to sideload") do
|
137
|
+
options[:exclude] = true
|
138
|
+
end
|
139
|
+
|
136
140
|
opts.on("-V", "--verbose", "Print Info message") do
|
137
141
|
options[:verbose] = true
|
138
142
|
end
|
@@ -145,7 +145,7 @@ module RokuBuilder
|
|
145
145
|
files: configs[:project_config][:files],
|
146
146
|
}
|
147
147
|
all_commands = options.keys & Controller.commands
|
148
|
-
if Controller.exclude_commands.include?(all_commands.first)
|
148
|
+
if options[:exclude] or Controller.exclude_commands.include?(all_commands.first)
|
149
149
|
content[:excludes] = configs[:project_config][:excludes]
|
150
150
|
end
|
151
151
|
|
data/lib/roku_builder/version.rb
CHANGED
@@ -49,6 +49,20 @@ class ConfigManagerTest < Minitest::Test
|
|
49
49
|
assert_nil config
|
50
50
|
assert_nil configs
|
51
51
|
|
52
|
+
# Test Unknown Device
|
53
|
+
options = {validate: true, device: :bad, config: target_config}
|
54
|
+
code, config, configs = RokuBuilder::ConfigManager.load_config(options: options, logger: logger)
|
55
|
+
assert_equal RokuBuilder::UNKNOWN_DEVICE, code
|
56
|
+
assert_nil config
|
57
|
+
assert_nil configs
|
58
|
+
|
59
|
+
# Test Unknown Project
|
60
|
+
options = {validate: true, project: :bad, config: target_config}
|
61
|
+
code, config, configs = RokuBuilder::ConfigManager.load_config(options: options, logger: logger)
|
62
|
+
assert_equal RokuBuilder::UNKNOWN_PROJECT, code
|
63
|
+
assert_nil config
|
64
|
+
assert_nil configs
|
65
|
+
|
52
66
|
# Test Depricated Config
|
53
67
|
options = {validate: true, stage: 'production', config: target_config}
|
54
68
|
RokuBuilder::ConfigValidator.stub(:validate_config, [-1]) do
|
@@ -78,6 +92,8 @@ class ConfigManagerTest < Minitest::Test
|
|
78
92
|
assert_equal Hash, config.class
|
79
93
|
assert_equal Hash, configs.class
|
80
94
|
|
95
|
+
|
96
|
+
|
81
97
|
File.delete(target_config) if File.exist?(target_config)
|
82
98
|
end
|
83
99
|
|
@@ -17,6 +17,41 @@ class ConfigParserTest < Minitest::Test
|
|
17
17
|
assert_equal "/dev/null", configs[:manifest_config][:root_dir]
|
18
18
|
end
|
19
19
|
|
20
|
+
def test_setup_project_config_current
|
21
|
+
args = {
|
22
|
+
config: {},
|
23
|
+
options: {current: true }
|
24
|
+
}
|
25
|
+
project = {}
|
26
|
+
File.stub(:exist?, true) do
|
27
|
+
project = RokuBuilder::ConfigParser.send(:setup_project_config, **args)
|
28
|
+
end
|
29
|
+
assert_equal Pathname.pwd.to_s, project[:directory]
|
30
|
+
assert_equal :current, project[:stage_method]
|
31
|
+
assert_nil project[:folders]
|
32
|
+
assert_nil project[:files]
|
33
|
+
end
|
34
|
+
|
35
|
+
def test_setup_stage_config_script
|
36
|
+
args = {
|
37
|
+
configs: {project_config: {directory: "/tmp", stage_method: :script, stages: {production: {script: "script"}}}},
|
38
|
+
options: {stage: "production"},
|
39
|
+
logger: Logger.new("/dev/null")
|
40
|
+
}
|
41
|
+
config, stage = RokuBuilder::ConfigParser.send(:setup_stage_config, **args)
|
42
|
+
assert_equal args[:configs][:project_config][:stages][:production][:script], config[:key]
|
43
|
+
end
|
44
|
+
|
45
|
+
def test_setup_stage_config_git_ref
|
46
|
+
args = {
|
47
|
+
configs: {project_config: {directory: "/tmp", stage_method: :git, }},
|
48
|
+
options: {stage: "production", ref: "git-ref"},
|
49
|
+
logger: Logger.new("/dev/null")
|
50
|
+
}
|
51
|
+
config, stage = RokuBuilder::ConfigParser.send(:setup_stage_config, **args)
|
52
|
+
assert_equal args[:options][:ref], config[:key]
|
53
|
+
end
|
54
|
+
|
20
55
|
def test_manifest_config_project_select
|
21
56
|
logger = Logger.new("/dev/null")
|
22
57
|
options = {
|
@@ -38,4 +73,52 @@ class ConfigParserTest < Minitest::Test
|
|
38
73
|
assert_equal Hash, config.class
|
39
74
|
assert_equal "/dev/nuller", configs[:project_config][:directory]
|
40
75
|
end
|
76
|
+
|
77
|
+
def test_setup_sideload_config
|
78
|
+
args = {
|
79
|
+
configs: {project_config: {directory: "/tmp", folders: ["a", "b"], files: ["c", "d"], excludes: []}, init_params: {}},
|
80
|
+
options: {sideload: true}
|
81
|
+
}
|
82
|
+
RokuBuilder::ConfigParser.send(:setup_sideload_config, **args)
|
83
|
+
|
84
|
+
refute_nil args[:configs][:sideload_config]
|
85
|
+
refute_nil args[:configs][:sideload_config][:content]
|
86
|
+
refute_nil args[:configs][:build_config]
|
87
|
+
refute_nil args[:configs][:build_config][:content]
|
88
|
+
refute_nil args[:configs][:init_params][:loader]
|
89
|
+
refute_nil args[:configs][:init_params][:loader][:root_dir]
|
90
|
+
|
91
|
+
assert_nil args[:configs][:sideload_config][:content][:excludes]
|
92
|
+
assert_nil args[:configs][:sideload_config][:update_manifest]
|
93
|
+
assert_nil args[:configs][:sideload_config][:infile]
|
94
|
+
end
|
95
|
+
def test_setup_sideload_config_exclude
|
96
|
+
args = {
|
97
|
+
configs: {project_config: {directory: "/tmp", folders: ["a", "b"], files: ["c", "d"], excludes: []}, init_params: {}},
|
98
|
+
options: {sideload: true}
|
99
|
+
}
|
100
|
+
RokuBuilder::ConfigParser.send(:setup_sideload_config, **args)
|
101
|
+
assert_nil args[:configs][:sideload_config][:content][:excludes]
|
102
|
+
|
103
|
+
args = {
|
104
|
+
configs: {project_config: {directory: "/tmp", folders: ["a", "b"], files: ["c", "d"], excludes: []}, init_params: {}},
|
105
|
+
options: {build: true}
|
106
|
+
}
|
107
|
+
RokuBuilder::ConfigParser.send(:setup_sideload_config, **args)
|
108
|
+
refute_nil args[:configs][:sideload_config][:content][:excludes]
|
109
|
+
|
110
|
+
args = {
|
111
|
+
configs: {project_config: {directory: "/tmp", folders: ["a", "b"], files: ["c", "d"], excludes: []}, init_params: {}},
|
112
|
+
options: {package: true}
|
113
|
+
}
|
114
|
+
RokuBuilder::ConfigParser.send(:setup_sideload_config, **args)
|
115
|
+
refute_nil args[:configs][:sideload_config][:content][:excludes]
|
116
|
+
|
117
|
+
args = {
|
118
|
+
configs: {project_config: {directory: "/tmp", folders: ["a", "b"], files: ["c", "d"], excludes: []}, init_params: {}},
|
119
|
+
options: {sideload: true, exclude: true}
|
120
|
+
}
|
121
|
+
RokuBuilder::ConfigParser.send(:setup_sideload_config, **args)
|
122
|
+
refute_nil args[:configs][:sideload_config][:content][:excludes]
|
123
|
+
end
|
41
124
|
end
|
@@ -2,6 +2,13 @@ require_relative "test_helper.rb"
|
|
2
2
|
|
3
3
|
class ControllerCommandsTest < Minitest::Test
|
4
4
|
|
5
|
+
def test_controller_commands_validate
|
6
|
+
logger = Minitest::Mock.new
|
7
|
+
logger.expect(:info, nil, ["Config validated"])
|
8
|
+
code = RokuBuilder::ControllerCommands.validate(logger: logger)
|
9
|
+
assert_equal RokuBuilder::SUCCESS, code
|
10
|
+
logger.verify
|
11
|
+
end
|
5
12
|
def test_controller_commands_sideload
|
6
13
|
logger = Logger.new("/dev/null")
|
7
14
|
loader = Minitest::Mock.new
|
@@ -189,6 +196,43 @@ class ControllerCommandsTest < Minitest::Test
|
|
189
196
|
mock.verify
|
190
197
|
assert_equal RokuBuilder::SUCCESS, code
|
191
198
|
end
|
199
|
+
def test_controller_commands_deeplink_sideload
|
200
|
+
logger = Logger.new("/dev/null")
|
201
|
+
mock = Minitest::Mock.new
|
202
|
+
|
203
|
+
ran_sideload = false
|
204
|
+
|
205
|
+
sideload = Proc.new {|a, b, c| ran_sideload = true}
|
206
|
+
|
207
|
+
code = nil
|
208
|
+
options = {deeplink: true, set_stage: true, stage: 'production', deeplink_options: "a:b", config: "~/.roku_config.json"}
|
209
|
+
config = good_config
|
210
|
+
code, configs = RokuBuilder::ConfigParser.parse_config(options: options, config: config, logger: logger)
|
211
|
+
mock.expect(:link, "true", [configs[:deeplink_config]])
|
212
|
+
RokuBuilder::Linker.stub(:new, mock) do
|
213
|
+
RokuBuilder::ControllerCommands.stub(:sideload, sideload) do
|
214
|
+
code = RokuBuilder::Controller.send(:execute_commands, {options: options, config: config, configs: configs, logger: logger})
|
215
|
+
end
|
216
|
+
end
|
217
|
+
mock.verify
|
218
|
+
assert_equal RokuBuilder::SUCCESS, code
|
219
|
+
assert ran_sideload
|
220
|
+
end
|
221
|
+
def test_controller_commands_deeplink_fail
|
222
|
+
logger = Logger.new("/dev/null")
|
223
|
+
mock = Minitest::Mock.new
|
224
|
+
|
225
|
+
code = nil
|
226
|
+
options = {deeplink: true, stage: 'production', deeplink_options: "a:b", config: "~/.roku_config.json"}
|
227
|
+
config = good_config
|
228
|
+
code, configs = RokuBuilder::ConfigParser.parse_config(options: options, config: config, logger: logger)
|
229
|
+
mock.expect(:link, false, [configs[:deeplink_config]])
|
230
|
+
RokuBuilder::Linker.stub(:new, mock) do
|
231
|
+
code = RokuBuilder::Controller.send(:execute_commands, {options: options, config: config, configs: configs, logger: logger})
|
232
|
+
end
|
233
|
+
mock.verify
|
234
|
+
assert_equal RokuBuilder::FAILED_DEEPLINKING, code
|
235
|
+
end
|
192
236
|
def test_controller_commands_delete
|
193
237
|
logger = Logger.new("/dev/null")
|
194
238
|
loader = Minitest::Mock.new
|
@@ -29,6 +29,11 @@ class ControllerTest < Minitest::Test
|
|
29
29
|
current: true
|
30
30
|
}
|
31
31
|
assert_equal RokuBuilder::BAD_CURRENT, RokuBuilder::Controller.send(:validate_options, {options: options})
|
32
|
+
options = {
|
33
|
+
package: true,
|
34
|
+
in: true
|
35
|
+
}
|
36
|
+
assert_equal RokuBuilder::BAD_IN_FILE, RokuBuilder::Controller.send(:validate_options, {options: options})
|
32
37
|
options = {
|
33
38
|
deeplink: "a:b c:d",
|
34
39
|
deeplink_depricated: true
|
@@ -66,6 +66,65 @@ class LoaderTest < Minitest::Test
|
|
66
66
|
io.verify
|
67
67
|
response.verify
|
68
68
|
end
|
69
|
+
def test_loader_sideload_infile
|
70
|
+
connection = Minitest::Mock.new
|
71
|
+
faraday = Minitest::Mock.new
|
72
|
+
io = Minitest::Mock.new
|
73
|
+
response = Minitest::Mock.new
|
74
|
+
|
75
|
+
infile = File.join(File.dirname(__FILE__), "test_files", "loader_test", "infile_test.zip")
|
76
|
+
logger = Logger.new("/dev/null")
|
77
|
+
device_config = {
|
78
|
+
ip: "111.222.333",
|
79
|
+
user: "user",
|
80
|
+
password: "password",
|
81
|
+
logger: logger,
|
82
|
+
}
|
83
|
+
loader_config = {
|
84
|
+
infile: infile
|
85
|
+
}
|
86
|
+
payload = {
|
87
|
+
mysubmit: "Replace",
|
88
|
+
archive: io,
|
89
|
+
}
|
90
|
+
path = "/plugin_install"
|
91
|
+
|
92
|
+
faraday.expect(:headers, {})
|
93
|
+
faraday.expect(:request, nil, [:digest, device_config[:user], device_config[:password]])
|
94
|
+
faraday.expect(:request, nil, [:multipart])
|
95
|
+
faraday.expect(:request, nil, [:url_encoded])
|
96
|
+
faraday.expect(:adapter, nil, [Faraday.default_adapter])
|
97
|
+
connection.expect(:post, response) do |arg1, arg2|
|
98
|
+
assert_equal path, arg1
|
99
|
+
assert_equal payload[:mysubmit], arg2[:mysubmit]
|
100
|
+
assert payload[:archive] === arg2[:archive]
|
101
|
+
end
|
102
|
+
response.expect(:status, 200)
|
103
|
+
response.expect(:body, "Install Success")
|
104
|
+
response.expect(:status, 200)
|
105
|
+
response.expect(:body, "Install Success")
|
106
|
+
|
107
|
+
loader = RokuBuilder::Loader.new(**device_config)
|
108
|
+
result = nil
|
109
|
+
build_version = nil
|
110
|
+
RokuBuilder::ManifestManager.stub(:build_version, "build_version") do
|
111
|
+
Faraday.stub(:new, connection, faraday) do
|
112
|
+
Faraday::UploadIO.stub(:new, io) do
|
113
|
+
File.stub(:delete, nil) do
|
114
|
+
result, build_version = loader.sideload(**loader_config)
|
115
|
+
end
|
116
|
+
end
|
117
|
+
end
|
118
|
+
end
|
119
|
+
|
120
|
+
assert_equal "build_version", build_version
|
121
|
+
assert_equal RokuBuilder::SUCCESS, result
|
122
|
+
|
123
|
+
connection.verify
|
124
|
+
faraday.verify
|
125
|
+
io.verify
|
126
|
+
response.verify
|
127
|
+
end
|
69
128
|
def test_loader_sideload_update
|
70
129
|
connection = Minitest::Mock.new
|
71
130
|
faraday = Minitest::Mock.new
|
@@ -32,6 +32,13 @@ class ManifestManagerTest < Minitest::Test
|
|
32
32
|
FileUtils.rm(File.join(root_dir, "manifest"))
|
33
33
|
end
|
34
34
|
|
35
|
+
def test_manifest_manager_build_version_zip
|
36
|
+
root_dir = File.join(File.dirname(__FILE__), "test_files", "manifest_manager_test", "test.zip")
|
37
|
+
build_version = nil
|
38
|
+
build_version = RokuBuilder::ManifestManager.build_version(root_dir: root_dir)
|
39
|
+
assert_equal "010101.1", build_version
|
40
|
+
end
|
41
|
+
|
35
42
|
def test_manifest_manager_update_manifest
|
36
43
|
root_dir = File.join(File.dirname(__FILE__), "test_files", "manifest_manager_test")
|
37
44
|
FileUtils.cp(File.join(root_dir, "manifest_template"), File.join(root_dir, "manifest"))
|
@@ -62,4 +69,22 @@ class ManifestManagerTest < Minitest::Test
|
|
62
69
|
assert FileUtils.compare_file(File.join(root_dir, "manifest"), File.join(root_dir, "updated_title_manifest"))
|
63
70
|
FileUtils.rm(File.join(root_dir, "manifest"))
|
64
71
|
end
|
72
|
+
def test_manifest_manager_update_manifest_partial
|
73
|
+
root_dir = File.join(File.dirname(__FILE__), "test_files", "manifest_manager_test")
|
74
|
+
attrs = {
|
75
|
+
title: "New Title",
|
76
|
+
major_version: 2,
|
77
|
+
minor_version: 2,
|
78
|
+
build_version: "020202.0002",
|
79
|
+
mm_icon_focus_hd: "pkg:/images/focus1.png",
|
80
|
+
mm_icon_focus_sd: "pkg:/images/focus2.png"
|
81
|
+
}
|
82
|
+
RokuBuilder::ManifestManager.update_manifest(root_dir: root_dir, attributes: attrs)
|
83
|
+
attrs = {
|
84
|
+
title: "New Title",
|
85
|
+
}
|
86
|
+
RokuBuilder::ManifestManager.update_manifest(root_dir: root_dir, attributes: attrs)
|
87
|
+
assert FileUtils.compare_file(File.join(root_dir, "manifest"), File.join(root_dir, "updated_title_manifest"))
|
88
|
+
FileUtils.rm(File.join(root_dir, "manifest"))
|
89
|
+
end
|
65
90
|
end
|
@@ -28,6 +28,37 @@ class MonitorTest < Minitest::Test
|
|
28
28
|
connection.verify
|
29
29
|
end
|
30
30
|
|
31
|
+
def test_monitor_monit_and_manage
|
32
|
+
connection = Minitest::Mock.new
|
33
|
+
device_config = {
|
34
|
+
ip: "111.222.333",
|
35
|
+
user: "user",
|
36
|
+
password: "password",
|
37
|
+
logger: Logger.new("/dev/null")
|
38
|
+
}
|
39
|
+
monitor = RokuBuilder::Monitor.new(**device_config)
|
40
|
+
|
41
|
+
connection.expect(:waitfor, nil) do |config, &blk|
|
42
|
+
assert_equal(/./, config['Match'])
|
43
|
+
assert_equal(false, config['Timeout'])
|
44
|
+
txt = "Fake Text"
|
45
|
+
blk.call(txt) == ""
|
46
|
+
end
|
47
|
+
|
48
|
+
def monitor.gets
|
49
|
+
sleep(0.1)
|
50
|
+
"q"
|
51
|
+
end
|
52
|
+
|
53
|
+
Net::Telnet.stub(:new, connection) do
|
54
|
+
monitor.stub(:manage_text, "") do
|
55
|
+
monitor.monitor(type: :main)
|
56
|
+
end
|
57
|
+
end
|
58
|
+
|
59
|
+
connection.verify
|
60
|
+
end
|
61
|
+
|
31
62
|
def test_monitor_monit_input
|
32
63
|
connection = Minitest::Mock.new
|
33
64
|
device_config = {
|
@@ -1,6 +1,18 @@
|
|
1
1
|
require_relative "test_helper.rb"
|
2
2
|
|
3
3
|
class StagerTest < Minitest::Test
|
4
|
+
|
5
|
+
def test_stager_method
|
6
|
+
root_dir = File.join(File.dirname(__FILE__), "test_files", "stager_test")
|
7
|
+
stager_config = {
|
8
|
+
method: :working,
|
9
|
+
root_dir: root_dir,
|
10
|
+
logger: nil
|
11
|
+
}
|
12
|
+
stager = RokuBuilder::Stager.new(**stager_config)
|
13
|
+
assert_equal stager_config[:method], stager.method
|
14
|
+
end
|
15
|
+
|
4
16
|
def test_stager_stage_working
|
5
17
|
root_dir = File.join(File.dirname(__FILE__), "test_files", "stager_test")
|
6
18
|
stager_config = {
|
Binary file
|
@@ -31,6 +31,43 @@ class TesterTest < Minitest::Test
|
|
31
31
|
connection.verify
|
32
32
|
end
|
33
33
|
|
34
|
+
def test_tester_runtests_and_handle
|
35
|
+
waitfor = Proc.new do |end_reg, &blk|
|
36
|
+
assert_equal /\*\*\*\*\* ENDING TESTS \*\*\*\*\*/, end_reg
|
37
|
+
txt = "Fake Text"
|
38
|
+
blk.call(txt) == false
|
39
|
+
end
|
40
|
+
connection = Minitest::Mock.new
|
41
|
+
loader = Minitest::Mock.new
|
42
|
+
device_config = {
|
43
|
+
ip: "111.222.333",
|
44
|
+
user: "user",
|
45
|
+
password: "password",
|
46
|
+
logger: Logger.new("/dev/null")
|
47
|
+
}
|
48
|
+
loader_config = {
|
49
|
+
root_dir: "root/dir/path",
|
50
|
+
branch: "branch",
|
51
|
+
folders: ["source"],
|
52
|
+
files: ["manifest"]
|
53
|
+
}
|
54
|
+
tester = RokuBuilder::Tester.new(**device_config)
|
55
|
+
|
56
|
+
loader.expect(:sideload, nil, [loader_config])
|
57
|
+
connection.expect(:waitfor, nil, &waitfor)
|
58
|
+
connection.expect(:puts, nil, ["cont\n"])
|
59
|
+
|
60
|
+
RokuBuilder::Loader.stub(:new, loader) do
|
61
|
+
Net::Telnet.stub(:new, connection) do
|
62
|
+
tester.stub(:handle_text, false) do
|
63
|
+
tester.run_tests(sideload_config: loader_config)
|
64
|
+
end
|
65
|
+
end
|
66
|
+
end
|
67
|
+
|
68
|
+
connection.verify
|
69
|
+
end
|
70
|
+
|
34
71
|
def test_tester_handle_text_no_text
|
35
72
|
logger = Minitest::Mock.new
|
36
73
|
device_config = {
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: roku_builder
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.6.
|
4
|
+
version: 3.6.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- greeneca
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-05-
|
11
|
+
date: 2016-05-30 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rubyzip
|
@@ -297,6 +297,7 @@ files:
|
|
297
297
|
- tests/roku_builder/test_files/loader_test/source/c/d
|
298
298
|
- tests/roku_builder/test_files/manifest_manager_test/manifest_template
|
299
299
|
- tests/roku_builder/test_files/manifest_manager_test/manifest_template_2
|
300
|
+
- tests/roku_builder/test_files/manifest_manager_test/test.zip
|
300
301
|
- tests/roku_builder/test_files/manifest_manager_test/updated_title_manifest
|
301
302
|
- tests/roku_builder/test_files/stager_test/a
|
302
303
|
- tests/roku_builder/test_files/stager_test/manifest
|