simmer 2.0.0.pre.alpha.1 → 4.0.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,83 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- #
4
- # Copyright (c) 2020-present, Blue Marble Payroll, LLC
5
- #
6
- # This source code is licensed under the MIT license found in the
7
- # LICENSE file in the root directory of this source tree.
8
- #
9
-
10
- module Simmer
11
- class Suite
12
- # Understands how to write a SessionResult instance to disk.
13
- class Reporter
14
- DATA_FILE = 'data.yaml'
15
- PDI_OUT_FILE = 'pdi_out.txt'
16
-
17
- def initialize(session_result)
18
- raise ArgumentError, 'session_result is required' unless session_result
19
-
20
- @session_result = session_result
21
-
22
- freeze
23
- end
24
-
25
- def write!(dir)
26
- dir = setup_directory(dir)
27
-
28
- IO.write(data_path(dir), session_result.to_h.to_yaml)
29
-
30
- pdi_out_file = File.open(pdi_out_path(dir), 'w')
31
-
32
- write_part(session_result.runner_results, pdi_out_file)
33
-
34
- pdi_out_file.close
35
-
36
- self
37
- end
38
-
39
- private
40
-
41
- attr_reader :session_result
42
-
43
- def data_path(dir)
44
- File.join(dir, DATA_FILE)
45
- end
46
-
47
- def pdi_out_path(dir)
48
- File.join(dir, PDI_OUT_FILE)
49
- end
50
-
51
- def setup_directory(dir)
52
- File.expand_path(dir).tap do |expanded_dir|
53
- FileUtils.mkdir_p(expanded_dir)
54
- end
55
- end
56
-
57
- def write_part(runner_results, pdi_out_file)
58
- runner_results.each do |runner_result|
59
- name = runner_result.name
60
- runner_id = runner_result.id
61
- out_contents = runner_result.spoon_client_result.execution_result.out
62
-
63
- write_block(pdi_out_file, name, runner_id, out_contents)
64
- end
65
-
66
- nil
67
- end
68
-
69
- def write_block(file, name, runner_id, contents)
70
- hyphens = '-' * 80
71
-
72
- file.write("#{hyphens}\n")
73
- file.write("Name: #{name}\n")
74
- file.write("Runner ID: #{runner_id}\n")
75
- file.write("#{hyphens}\n")
76
- file.write("#{contents}\n")
77
- file.write("\n")
78
-
79
- nil
80
- end
81
- end
82
- end
83
- end