@@ -66,6 +66,41 @@ def test_create_terminal(self):
6666 self .assertIsInstance (term1 , dict )
6767
6868 def test_create_terminal_via_get (self ):
69+ # Test creation of terminal via GET against terminals/new/<name>
70+ r = self .term_api ._req ('GET' , 'terminals/new' )
71+ self .assertEqual (r .status_code , 200 )
72+
73+ r = self .term_api .get ('1' )
74+ term1 = r .json ()
75+ self .assertEqual (r .status_code , 200 )
76+ self .assertIsInstance (term1 , dict )
77+ self .assertEqual (term1 ['name' ], '1' )
78+
79+ # hit the same endpoint a second time and ensure a second named terminal is created
80+ r = self .term_api ._req ('GET' , 'terminals/new' )
81+ self .assertEqual (r .status_code , 200 )
82+
83+ r = self .term_api .get ('2' )
84+ term2 = r .json ()
85+ self .assertEqual (r .status_code , 200 )
86+ self .assertIsInstance (term2 , dict )
87+ self .assertEqual (term2 ['name' ], '2' )
88+
89+ r = self .term_api .shutdown ('2' )
90+ self .assertEqual (r .status_code , 204 )
91+
92+ # Make sure there is 1 terminal running
93+ terminals = self .term_api .list ().json ()
94+ self .assertEqual (len (terminals ), 1 )
95+
96+ r = self .term_api .shutdown ('1' )
97+ self .assertEqual (r .status_code , 204 )
98+
99+ # Make sure there are no terminals are running
100+ terminals = self .term_api .list ().json ()
101+ self .assertEqual (len (terminals ), 0 )
102+
103+ def test_create_terminal_with_name (self ):
69104 # Test creation of terminal via GET against terminals/new/<name>
70105 r = self .term_api ._req ('GET' , 'terminals/new/foo' )
71106 self .assertEqual (r .status_code , 200 )
@@ -92,7 +127,11 @@ def test_create_terminal_via_get(self):
92127
93128 # Make sure there are no terminals are running
94129 terminals = self .term_api .list ().json ()
95- self .assertEqual (terminals , [])
130+ self .assertEqual (len (terminals ), 0 )
131+
132+ # hit terminals/new/new and ensure that 400 is raised
133+ with assert_http_error (400 ):
134+ self .term_api ._req ('GET' , 'terminals/new/new' )
96135
97136 def test_terminal_root_handler (self ):
98137 # POST request
0 commit comments