add test for checking validity of console output
Change-Id: I4908ff1a8954ac02b96efd493ba8add18f4d9891
This commit is contained in:
parent
b51eb4f350
commit
4baf5ed768
|
@ -77,7 +77,7 @@ class ImageTest(base.EC2TestCase):
|
|||
self.assertEqual(1, len(data['Images']))
|
||||
self.assertEqual(image_id, data['Images'][0]['ImageId'])
|
||||
|
||||
def test_check_image_attributes_negative(self):
|
||||
def test_check_image_operations_negative(self):
|
||||
# NOTE(andrey-mp): image_id is a public image created by admin
|
||||
image_id = CONF.aws.image_id
|
||||
|
||||
|
@ -121,6 +121,10 @@ class ImageTest(base.EC2TestCase):
|
|||
self.assertEqual(400, resp.status_code)
|
||||
self.assertEqual('AuthFailure', data['Error']['Code'])
|
||||
|
||||
resp, data = self.client.DeregisterImage(ImageId=image_id)
|
||||
self.assertEqual(400, resp.status_code)
|
||||
self.assertEqual('AuthFailure', data['Error']['Code'])
|
||||
|
||||
@testtools.skipUnless(CONF.aws.image_id, 'image id is not defined')
|
||||
def test_create_image_from_non_ebs_instance(self):
|
||||
image_id = CONF.aws.image_id
|
||||
|
|
|
@ -13,8 +13,6 @@
|
|||
# License for the specific language governing permissions and limitations
|
||||
# under the License.
|
||||
|
||||
import base64
|
||||
|
||||
from oslo_log import log
|
||||
from tempest_lib.common.utils import data_utils
|
||||
import testtools
|
||||
|
@ -166,9 +164,8 @@ class InstanceTest(base.EC2TestCase):
|
|||
def test_get_password_data_and_console_output(self):
|
||||
instance_type = CONF.aws.instance_type
|
||||
image_id = CONF.aws.image_id
|
||||
user_data = base64.b64encode('password_test=password')
|
||||
resp, data = self.client.RunInstances(
|
||||
ImageId=image_id, InstanceType=instance_type, UserData=user_data,
|
||||
ImageId=image_id, InstanceType=instance_type,
|
||||
Placement={'AvailabilityZone': self.zone}, MinCount=1, MaxCount=1)
|
||||
self.assertEqual(200, resp.status_code, base.EC2ErrorConverter(data))
|
||||
instance_id = data['Instances'][0]['InstanceId']
|
||||
|
|
|
@ -29,10 +29,15 @@ LOG = log.getLogger(__name__)
|
|||
|
||||
class InstancesTest(scenario_base.BaseScenarioTest):
|
||||
|
||||
def test_userdata(self):
|
||||
@classmethod
|
||||
@base.safe_setup
|
||||
def setUpClass(cls):
|
||||
super(InstancesTest, cls).setUpClass()
|
||||
if not CONF.aws.image_id:
|
||||
raise self.skipException('aws image_id does not provided')
|
||||
raise cls.skipException('aws image_id does not provided')
|
||||
cls.zone = CONF.aws.aws_zone
|
||||
|
||||
def test_userdata(self):
|
||||
key_name = data_utils.rand_name('testkey')
|
||||
pkey = self.create_key_pair(key_name)
|
||||
sec_group_name = self.create_standard_security_group()
|
||||
|
@ -56,3 +61,31 @@ class InstancesTest(scenario_base.BaseScenarioTest):
|
|||
|
||||
data = ssh_client.exec_command('curl %s/latest/meta-data/ami-id' % url)
|
||||
self.assertEqual(CONF.aws.image_id, data)
|
||||
|
||||
def test_compare_console_output(self):
|
||||
key_name = data_utils.rand_name('testkey')
|
||||
pkey = self.create_key_pair(key_name)
|
||||
sec_group_name = self.create_standard_security_group()
|
||||
instance_id = self.run_instance(KeyName=key_name,
|
||||
SecurityGroups=[sec_group_name])
|
||||
|
||||
data_to_check = data_utils.rand_uuid()
|
||||
ip_address = self.get_instance_ip(instance_id)
|
||||
ssh_client = ssh.Client(ip_address, CONF.aws.image_user, pkey=pkey)
|
||||
cmd = 'sudo sh -c "echo \\"%s\\" >/dev/console"' % data_to_check
|
||||
ssh_client.exec_command(cmd)
|
||||
|
||||
waiter = base.EC2Waiter(self.client.GetConsoleOutput)
|
||||
waiter.wait_no_exception(InstanceId=instance_id)
|
||||
|
||||
def _compare_console_output():
|
||||
resp, data = self.client.GetConsoleOutput(InstanceId=instance_id)
|
||||
self.assertEqual(200, resp.status_code,
|
||||
base.EC2ErrorConverter(data))
|
||||
self.assertEqual(instance_id, data['InstanceId'])
|
||||
self.assertIsNotNone(data['Timestamp'])
|
||||
self.assertIn('Output', data)
|
||||
self.assertIn(data_to_check, data['Output'])
|
||||
|
||||
waiter = base.EC2Waiter(_compare_console_output)
|
||||
waiter.wait_no_exception()
|
||||
|
|
Loading…
Reference in New Issue