49
49
super(ConsoleOutputExtensionTest, self).setUp()
50
self.stubs.Set(compute.API, 'get_console_output',
50
self.stubs.Set(compute_api.API, 'get_console_output',
51
51
fake_get_console_output)
52
self.stubs.Set(compute.API, 'get', fake_get)
52
self.stubs.Set(compute_api.API, 'get', fake_get)
54
osapi_compute_extension=[
55
'nova.api.openstack.compute.contrib.select_extensions'],
56
osapi_compute_ext_list=['Console_output'])
57
self.app = fakes.wsgi_app(init_only=('servers',))
54
59
def test_get_text_console_instance_action(self):
55
60
body = {'os-getConsoleOutput': {}}
58
63
req.body = jsonutils.dumps(body)
59
64
req.headers["content-type"] = "application/json"
61
res = req.get_response(fakes.wsgi_app())
66
res = req.get_response(self.app)
62
67
output = jsonutils.loads(res.body)
63
68
self.assertEqual(res.status_int, 200)
64
69
self.assertEqual(output, {'output': '0\n1\n2\n3\n4'})
69
74
req.method = "POST"
70
75
req.body = jsonutils.dumps(body)
71
76
req.headers["content-type"] = "application/json"
72
res = req.get_response(fakes.wsgi_app())
77
res = req.get_response(self.app)
73
78
output = jsonutils.loads(res.body)
74
79
self.assertEqual(res.status_int, 200)
75
80
self.assertEqual(output, {'output': '2\n3\n4'})
80
85
req.method = "POST"
81
86
req.body = jsonutils.dumps(body)
82
87
req.headers["content-type"] = "application/json"
83
res = req.get_response(fakes.wsgi_app())
88
res = req.get_response(self.app)
84
89
output = jsonutils.loads(res.body)
85
90
self.assertEqual(res.status_int, 200)
86
91
self.assertEqual(output, {'output': '2\n3\n4'})
91
96
req.method = "POST"
92
97
req.body = jsonutils.dumps(body)
93
98
req.headers["content-type"] = "application/json"
94
res = req.get_response(fakes.wsgi_app())
99
res = req.get_response(self.app)
95
100
output = jsonutils.loads(res.body)
96
101
self.assertEqual(res.status_int, 400)
98
103
def test_get_text_console_no_instance(self):
99
self.stubs.Set(compute.API, 'get', fake_get_not_found)
104
self.stubs.Set(compute_api.API, 'get', fake_get_not_found)
100
105
body = {'os-getConsoleOutput': {}}
101
106
req = webob.Request.blank('/v2/fake/servers/1/action')
102
107
req.method = "POST"
103
108
req.body = jsonutils.dumps(body)
104
109
req.headers["content-type"] = "application/json"
106
res = req.get_response(fakes.wsgi_app())
111
res = req.get_response(self.app)
107
112
self.assertEqual(res.status_int, 404)
109
114
def test_get_text_console_no_instance_on_get_output(self):
110
self.stubs.Set(compute.API, 'get_console_output', fake_get_not_found)
115
self.stubs.Set(compute_api.API,
116
'get_console_output',
111
118
body = {'os-getConsoleOutput': {}}
112
119
req = webob.Request.blank('/v2/fake/servers/1/action')
113
120
req.method = "POST"
114
121
req.body = jsonutils.dumps(body)
115
122
req.headers["content-type"] = "application/json"
117
res = req.get_response(fakes.wsgi_app())
124
res = req.get_response(self.app)
118
125
self.assertEqual(res.status_int, 404)
120
127
def test_get_text_console_bad_body(self):
124
131
req.body = jsonutils.dumps(body)
125
132
req.headers["content-type"] = "application/json"
127
res = req.get_response(fakes.wsgi_app())
134
res = req.get_response(self.app)
128
135
self.assertEqual(res.status_int, 400)