def test_notify_missing_file_arg(self): signal_data = json.dumps({'foo': 'bar'}) stdin = cStringIO.StringIO(signal_data) self.assertEqual( 1, hcn.main(['heat-config-notify'], stdin))
def test_notify_heat_signal(self): ksclient = mock.MagicMock() hcn.ksclient = ksclient ks = mock.MagicMock() ksclient.Client.return_value = ks heatclient = mock.MagicMock() hcn.heatclient = heatclient heat = mock.MagicMock() heatclient.Client.return_value = heat signal_data = json.dumps({'foo': 'bar'}) stdin = cStringIO.StringIO(signal_data) ks.service_catalog.url_for.return_value = 'mock://192.0.2.3/heat' heat.resources.signal.return_value = 'all good' with self.write_config_file(self.data_heat_signal) as config_file: self.assertEqual( 0, hcn.main(['heat-config-notify', config_file.name], stdin)) ksclient.Client.assert_called_once_with( auth_url='mock://192.0.2.3/auth', user_id='aaaa', password='******', project_id='bbbb') ks.service_catalog.url_for.assert_called_once_with( service_type='orchestration', endpoint_type='publicURL') heatclient.Client.assert_called_once_with( '1', 'mock://192.0.2.3/heat', token=ks.auth_token) heat.resources.signal.assert_called_once_with( 'cccc', 'the_resource', data={'foo': 'bar'})
def test_notify_missing_file(self): signal_data = json.dumps({'foo': 'bar'}) stdin = cStringIO.StringIO(signal_data) with self.write_config_file(self.data_signal_id) as config_file: config_file_name = config_file.name self.assertEqual( 1, hcn.main(['heat-config-notify', config_file_name], stdin))
def test_notify_signal_id_invalid_json_data(self): requests = mock.MagicMock() hcn.requests = requests requests.post.return_value = '[200]' stdin = cStringIO.StringIO('{{{"hi') with self.write_config_file(self.data_signal_id) as config_file: self.assertEqual( 0, hcn.main(['heat-config-notify', config_file.name], stdin)) requests.post.assert_called_once_with( 'mock://192.0.2.3/foo', data='{}', headers={'content-type': None})
def test_notify_signal_id_put(self): requests = mock.MagicMock() hcn.requests = requests requests.post.return_value = '[200]' signal_data = json.dumps({'foo': 'bar'}) stdin = cStringIO.StringIO(signal_data) with self.write_config_file(self.data_signal_id_put) as config_file: self.assertEqual( 0, hcn.main(['heat-config-notify', config_file.name], stdin)) requests.put.assert_called_once_with( 'mock://192.0.2.3/foo', data=signal_data, headers={'content-type': None})
def test_notify_signal_id_put(self): requests = mock.MagicMock() hcn.requests = requests requests.post.return_value = '[200]' signal_data = json.dumps({'foo': 'bar'}) stdin = cStringIO.StringIO(signal_data) with self.write_config_file(self.data_signal_id_put) as config_file: self.assertEqual( 0, hcn.main(['heat-config-notify', config_file.name], stdin)) requests.put.assert_called_once_with( 'mock://192.0.2.3/foo', data=signal_data, headers={'content-type': 'application/json'})