diff options
| author | Can Eldem <celdem@gitlab.com> | 2020-01-09 11:26:40 +0000 |
|---|---|---|
| committer | Can Eldem <celdem@gitlab.com> | 2020-01-09 11:26:40 +0000 |
| commit | f16af48f9b7cf99e8d1cdb1e44dad9aad3a090b6 (patch) | |
| tree | 3944b2eade680f90739f2f3805dfec1a7bb1a360 /spec/support/integration_test_helper.rb | |
| parent | d51e4d90b3e7dbfc5b0a9ec90f37baf84dc105d0 (diff) | |
| parent | d89872f850332736eb174f2b0ab28692fda6bf46 (diff) | |
Merge branch '35629-upgrade-python' into 'master'v2.3.0
Upgrade python from 3.5 to 3.8
See merge request gitlab-org/security-products/license-management!101
Diffstat (limited to 'spec/support/integration_test_helper.rb')
| -rw-r--r-- | spec/support/integration_test_helper.rb | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/spec/support/integration_test_helper.rb b/spec/support/integration_test_helper.rb new file mode 100644 index 0000000..df75176 --- /dev/null +++ b/spec/support/integration_test_helper.rb @@ -0,0 +1,37 @@ +module IntegrationTestHelper + class IntegrationTestRunner + attr_reader :project_path + + def initialize(project_path = Dir.mktmpdir('lm')) + @project_path = project_path + end + + def add_file(name, content = nil) + full_path = "#{project_path}/#{name}" + IO.write(full_path, block_given? ? yield : content) + end + + def scan(env: {}) + return {} unless execute(env, './bin/test-local', project_path) + + report_path = "#{project_path}/gl-license-management-report.json" + return {} unless File.exist?(report_path) + + JSON.parse(IO.read(report_path), symbolize_names: true) + end + + def execute(env = {}, *args) + Bundler.with_clean_env do + system(env, *args) + end + end + + def cleanup + FileUtils.rm_rf(project_path) if Dir.exist?(project_path) + end + end + + def runner(*args) + @runner ||= IntegrationTestRunner.new(*args) + end +end |
