@@ -148,7 +148,16 @@ def test_main_prints_arch(monkeypatch, capsys):
148148
149149def test_main_prints_container_name (monkeypatch , capsys ):
150150 # Arrange
151- argv = ["prog" , "--arch" , "amd64" , "--cname" , "container-pythonDev" , "--version" , "1.0" , "container_name" ]
151+ argv = [
152+ "prog" ,
153+ "--arch" ,
154+ "amd64" ,
155+ "--cname" ,
156+ "container-pythonDev" ,
157+ "--version" ,
158+ "1.0" ,
159+ "container_name" ,
160+ ]
152161 monkeypatch .setattr (sys , "argv" , argv )
153162 monkeypatch .setattr (fema , "Parser" , lambda * a , ** kw : None )
154163
@@ -160,6 +169,31 @@ def test_main_prints_container_name(monkeypatch, capsys):
160169 assert "container-python-dev" in out
161170
162171
172+ def test_main_prints_container_tag (monkeypatch , capsys ):
173+ # Arrange
174+ argv = [
175+ "prog" ,
176+ "--arch" ,
177+ "amd64" ,
178+ "--cname" ,
179+ "flav" ,
180+ "--version" ,
181+ "1.0" ,
182+ "--commit" ,
183+ "~post1" ,
184+ "container_tag" ,
185+ ]
186+ monkeypatch .setattr (sys , "argv" , argv )
187+ monkeypatch .setattr (fema , "Parser" , lambda * a , ** kw : None )
188+
189+ # Act
190+ fema .main ()
191+
192+ # Assert
193+ out = capsys .readouterr ().out .strip ()
194+ assert "1-0-post1" == out
195+
196+
163197def test_main_prints_commit_id (monkeypatch , capsys ):
164198 # Arrange
165199 argv = ["prog" , "--arch" , "amd64" , "--cname" , "flav" , "commit_id" ]
@@ -252,14 +286,49 @@ def test_main_prints_version_and_commit_id(monkeypatch, capsys):
252286 assert "1.2.3-abcdef12" == captured .out .strip ()
253287
254288
255- def test_main_arch_raises_missing_verison (monkeypatch , capsys ):
289+ def test_main_requires_cname (monkeypatch ):
290+ # Arrange
291+ monkeypatch .setattr (sys , "argv" , ["prog" , "arch" ])
292+ monkeypatch .setattr (fema , "Parser" , lambda * a , ** kw : None )
293+
294+ # Act / Assert
295+ with pytest .raises (SystemExit ):
296+ fema .main ()
297+
298+
299+ def test_main_raises_no_arch_no_default (monkeypatch ):
256300 # Arrange
257- argv = ["prog" , "--arch" , "amd64" , "--cname" , "flav" , "arch" ]
301+ # args.type == 'cname, arch is None and no default_arch set
302+ argv = ["prog" , "--cname" , "flav" , "cname" ]
303+ monkeypatch .setattr (sys , "argv" , argv )
304+ monkeypatch .setattr (
305+ fema ,
306+ "Parser" ,
307+ lambda * a , ** kw : types .SimpleNamespace (filter = lambda * a , ** k : None ),
308+ )
309+
310+ # Act / Assert
311+ with pytest .raises (RuntimeError , match = "Architecture could not be determined" ):
312+ fema .main ()
313+
314+
315+ def test_main_raises_missing_commit_id (monkeypatch , capsys ):
316+ # Arrange
317+ argv = [
318+ "prog" ,
319+ "--arch" ,
320+ "amd64" ,
321+ "--cname" ,
322+ "flav" ,
323+ "--version" ,
324+ "1.0" ,
325+ "version_and_commit_id" ,
326+ ]
258327 monkeypatch .setattr (sys , "argv" , argv )
259328 monkeypatch .setattr (fema , "Parser" , lambda * a , ** kw : None )
260329
261330 # Act / Assert
262- with pytest .raises (RuntimeError ):
331+ with pytest .raises (RuntimeError , match = "Commit ID not specified" ):
263332 fema .main ()
264333
265334
@@ -300,29 +369,3 @@ def sort_subset(subset, length):
300369 # Assert
301370 captured = capsys .readouterr ()
302371 assert "flav" in captured .out
303-
304-
305- def test_main_requires_cname (monkeypatch ):
306- # Arrange
307- monkeypatch .setattr (sys , "argv" , ["prog" , "arch" ])
308- monkeypatch .setattr (fema , "Parser" , lambda * a , ** kw : None )
309-
310- # Act / Assert
311- with pytest .raises (SystemExit ):
312- fema .main ()
313-
314-
315- def test_main_raises_no_arch_no_default (monkeypatch ):
316- # Arrange
317- # args.type == 'cname, arch is None and no default_arch set
318- argv = ["prog" , "--cname" , "flav" , "cname" ]
319- monkeypatch .setattr (sys , "argv" , argv )
320- monkeypatch .setattr (
321- fema ,
322- "Parser" ,
323- lambda * a , ** kw : types .SimpleNamespace (filter = lambda * a , ** k : None ),
324- )
325-
326- # Act / Assert
327- with pytest .raises (RuntimeError , match = "Architecture could not be determined" ):
328- fema .main ()
0 commit comments