Skip to content

Commit d5968c6

Browse files
committed
Fix path errors after grouping setup tasks
- Replace HttpHelper module with simple download function in utils.cr. Also add specs for it. - Remove unused code (YAGNI principle) - Add setup/constant.cr file with versions and links to the tools Signed-off-by: Rafal Lal <rafal.lal@tietoevry.com>
1 parent 17b1042 commit d5968c6

17 files changed

Lines changed: 142 additions & 259 deletions

spec/5g/core_spec.cr

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
require "../spec_helper"
22
require "colorize"
33
require "../../src/tasks/utils/utils.cr"
4-
require "../../src/tasks/kind_setup.cr"
4+
require "../../src/tasks/setup/kind_setup.cr"
55
require "file_utils"
66
require "sam"
77

spec/5g/ran_spec.cr

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
require "../spec_helper"
22
require "colorize"
33
require "../../src/tasks/utils/utils.cr"
4-
require "../../src/tasks/kind_setup.cr"
4+
require "../../src/tasks/setup/kind_setup.cr"
55
require "file_utils"
66
require "sam"
77

spec/utils/cnf_manager_spec.cr

Lines changed: 1 addition & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
require "../spec_helper"
33
require "colorize"
44
require "../../src/tasks/utils/utils.cr"
5-
require "../../src/tasks/helmenv_setup.cr"
5+
require "../../src/tasks/setup/helmenv_setup.cr"
66
require "../../src/tasks/utils/utils.cr"
77
require "file_utils"
88
require "sam"
@@ -111,39 +111,6 @@ describe "SampleUtils" do
111111
(yaml["exit_code"]).should eq(0)
112112
end
113113

114-
it "'validate_config' should pass, when a cnf has a valid config file yml", tags: ["validate_config"] do
115-
result = ShellCmd.run_testsuite("validate_config cnf-config=spec/fixtures/cnf-testsuite-v2-example.yml")
116-
result[:status].success?.should be_true
117-
(/Successfully validated CNF config/ =~ result[:output]).should_not be_nil
118-
end
119-
120-
it "'validate_config' should pass, for all sample-cnfs", tags: ["validate_config"] do
121-
get_dirs = Dir.entries("sample-cnfs")
122-
dir_list = get_dirs - [".", ".."]
123-
dir_list.each do |dir|
124-
testsuite_yml = "sample-cnfs/#{dir}/cnf-testsuite.yml"
125-
result = ShellCmd.run_testsuite("validate_config cnf-config=#{testsuite_yml}")
126-
unless result[:status].success?
127-
Log.info {"Could not validate config: #{testsuite_yml}"}
128-
end
129-
(/Successfully validated CNF config/ =~ result[:output]).should_not be_nil
130-
end
131-
end
132-
133-
it "'validate_config' should pass, for all example-cnfs", tags: ["validate_config"] do
134-
get_dirs = Dir.entries("example-cnfs")
135-
dir_list = get_dirs - [".", ".."]
136-
dir_list.each do |dir|
137-
testsuite_yml = "example-cnfs/#{dir}/cnf-testsuite.yml"
138-
result = ShellCmd.run_testsuite("validate_config cnf-config=#{testsuite_yml}")
139-
unless result[:status].success?
140-
Log.info {"Could not validate config: #{testsuite_yml}"}
141-
end
142-
(/Successfully validated CNF config/ =~ result[:output]).should_not be_nil
143-
end
144-
end
145-
146-
147114
it "'CNFInstall::Config.parse_cnf_config_from_file' should return a populated CNFInstall::Config::Config", tags: ["cnf-config"] do
148115
config = CNFInstall::Config.parse_cnf_config_from_file("spec/fixtures/cnf-testsuite.yml")
149116
(config.deployments.helm_charts[0].name).should eq("coredns")

spec/utils/utils_spec.cr

Lines changed: 103 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,12 @@
22
require "../spec_helper"
33
require "colorize"
44
require "../../src/tasks/utils/utils.cr"
5-
require "../../src/tasks/helmenv_setup.cr"
5+
require "../../src/tasks/setup/helmenv_setup.cr"
6+
require "kubectl_client"
67
require "file_utils"
78
require "sam"
89
require "json"
10+
require "http/server"
911

1012
describe "Utils" do
1113
before_all do
@@ -213,4 +215,104 @@ describe "Utils" do
213215
end
214216
(response.to_s.size > 0).should be_false
215217
end
218+
219+
describe "'download' function", tags: ["utils-download"] do
220+
port = 50500
221+
ip = "0.0.0.0"
222+
server = HTTP::Server.new do |ctx|
223+
request = ctx.request
224+
response = ctx.response
225+
case request.path
226+
when "/redirect"
227+
response.status_code = 302
228+
response.headers["Location"] = "http://#{ip}:#{port}/success"
229+
response.print("redirecting to /success")
230+
when "/error"
231+
response.status_code = 404
232+
response.print("not found")
233+
when "/auth"
234+
auth_header = request.headers["Authorization"]
235+
if auth_header && auth_header.starts_with?("Bearer ")
236+
response.status_code = 200
237+
response.print("authorized access")
238+
else
239+
response.status_code = 401
240+
response.print("unauthorized")
241+
end
242+
when "/success"
243+
response.status_code = 200
244+
response.print("successful response")
245+
end
246+
end
247+
248+
before_all do
249+
server.bind_tcp(ip, port)
250+
spawn do
251+
server.listen
252+
end
253+
end
254+
255+
after_all do
256+
server.close
257+
end
258+
259+
it "should download file correctly" do
260+
tempfile = File.tempfile("test_download")
261+
begin
262+
download("http://#{ip}:#{port}/success", tempfile.path)
263+
rescue ex : Exception # Exception should not be raised
264+
ex.message.should be_nil
265+
end
266+
(File.read(tempfile.path) == "successful response").should be_true
267+
ensure
268+
tempfile.delete unless tempfile.nil?
269+
end
270+
271+
it "should download file with redirection correctly" do
272+
tempfile = File.tempfile("test_download")
273+
begin
274+
download("http://#{ip}:#{port}/redirect", tempfile.path)
275+
rescue ex : Exception # Exception should not be raised
276+
ex.message.should be_nil
277+
end
278+
(File.read(tempfile.path) == "successful response").should be_true
279+
ensure
280+
tempfile.delete unless tempfile.nil?
281+
end
282+
283+
it "should download file with bearer token authentication correctly" do
284+
tempfile = File.tempfile("test_download")
285+
headers = HTTP::Headers{"Authorization" => "Bearer valid-token123"}
286+
begin
287+
download("http://#{ip}:#{port}/auth", tempfile.path, headers: headers)
288+
rescue ex : Exception # Exception should not be raised
289+
ex.message.should be_nil
290+
end
291+
(File.read(tempfile.path) == "authorized access").should be_true
292+
ensure
293+
tempfile.delete unless tempfile.nil?
294+
end
295+
296+
it "should raise when 'url' is not found" do
297+
tempfile = File.tempfile("test_download")
298+
begin
299+
download("http://non-existent/path", tempfile.path)
300+
rescue ex : Exception
301+
ex.message.should_not be_nil
302+
end
303+
ensure
304+
tempfile.delete unless tempfile.nil?
305+
end
306+
307+
it "should raise when response is not 2xx" do
308+
tempfile = File.tempfile("test_download")
309+
begin
310+
download("http://#{ip}:#{port}/error", tempfile.path)
311+
rescue ex : Exception
312+
(ex.message =~ /Unsuccessful request, status code: \[404\], msg: Not Found/).should_not be_nil
313+
end
314+
ensure
315+
tempfile.delete unless tempfile.nil?
316+
end
317+
end
216318
end

spec/workload/compatibility_spec.cr

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
require "../spec_helper"
22
require "colorize"
33
require "../../src/tasks/utils/utils.cr"
4-
require "../../src/tasks/kind_setup.cr"
4+
require "../../src/tasks/setup/kind_setup.cr"
55
require "file_utils"
66
require "sam"
77

spec/workload/microservice_spec.cr

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
11
require "../spec_helper"
22
require "colorize"
33
require "../../src/tasks/utils/utils.cr"
4-
require "../../src/tasks/dockerd_setup.cr"
4+
require "kubectl_client"
5+
require "helm"
6+
require "../../src/tasks/setup/dockerd_setup.cr"
57
require "file_utils"
68
require "sam"
79

spec/workload/observability_spec.cr

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ require "../spec_helper"
22
require "colorize"
33
require "../../src/tasks/utils/utils.cr"
44
require "../../src/tasks/utils/fluent_manager.cr"
5-
require "../../src/tasks/jaeger_setup.cr"
5+
require "../../src/tasks/setup/jaeger_setup.cr"
66

77
describe "Observability" do
88
before_all do

spec/workload/registry_spec.cr

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
11
require "../spec_helper"
22
require "colorize"
33
require "../../src/tasks/utils/utils.cr"
4-
require "../../src/tasks/dockerd_setup.cr"
4+
require "kubectl_client"
5+
require "helm"
6+
require "../../src/tasks/setup/dockerd_setup.cr"
57
require "file_utils"
68
require "sam"
79

src/tasks/setup/chaos_mesh_setup.cr

Lines changed: 0 additions & 88 deletions
This file was deleted.

src/tasks/setup/chart_testing_setup.cr

Lines changed: 0 additions & 17 deletions
This file was deleted.

0 commit comments

Comments
 (0)