Commit 5b469a5 1 parent 60d9dbe commit 5b469a5 Copy full SHA for 5b469a5
File tree 2 files changed +29
-1
lines changed
2 files changed +29
-1
lines changed Original file line number Diff line number Diff line change
1
+ module ExtractTGZHelper
2
+ def extract_tgz ( fixture )
3
+ filename = File . basename ( fixture , '.tgz' )
4
+ target_dir = Dir . mktmpdir ( filename )
5
+ system "mkdir -p #{ target_dir } "
6
+ system "tar -xzf #{ fixture } --directory #{ target_dir } "
7
+ target_dir
8
+ end
9
+
10
+ def cleanup ( target_dir )
11
+ FileUtils . remove_entry ( target_dir )
12
+ end
13
+ end
Original file line number Diff line number Diff line change
1
+ require 'extract_tgz_helper'
2
+
1
3
RSpec . describe Inferno ::Entities ::IG do
4
+ include ExtractTGZHelper
5
+
2
6
let ( :uscore3_package ) { File . expand_path ( '../../fixtures/uscore311.tgz' , __dir__ ) }
7
+ let ( :uscore3_untarred ) { extract_tgz ( uscore3_package ) }
8
+
9
+ after { cleanup ( uscore3_untarred ) }
3
10
4
11
describe '#from_file' do
5
- it 'loads an IG from file' do
12
+ it 'loads an IG from tgz file' do
6
13
ig = described_class . from_file ( uscore3_package )
14
+ expect_uscore3_loaded_properly ( ig )
15
+ end
16
+
17
+ it 'loads an IG from directory' do
18
+ ig = described_class . from_file ( uscore3_untarred )
19
+ expect_uscore3_loaded_properly ( ig )
20
+ end
7
21
22
+ def expect_uscore3_loaded_properly ( ig ) # rubocop:disable Naming/MethodParameterName, Metrics/CyclomaticComplexity
8
23
# For each artifact type in the IG, check:
9
24
# the right number are loaded,
10
25
# they're all the expected type,
You can’t perform that action at this time.
0 commit comments