示例#1
0
    def test_delete_entry_fields_on_delete_server_response(self):
        """
        Verify that the Delete entry will have all expected fields
        after Server Delete
        """

        self.assertEqual(
            self.deleted_server.id, self.event_delete.instance,
            self.msg.format("instance", self.deleted_server.id,
                            self.event_delete.instance,
                            self.delete_response.reason,
                            self.delete_response.content))
        self.assertTrue(
            EqualityTools.are_datetimes_equal(
                string_to_datetime(self.launched_at_created_server),
                string_to_datetime(self.event_delete.launched_at),
                timedelta(seconds=self.leeway)),
            self.msg.format("launched_at", self.launched_at_created_server,
                            self.event_delete.launched_at,
                            self.delete_response.reason,
                            self.delete_response.content))
        self.assertTrue(
            EqualityTools.are_datetimes_equal(
                string_to_datetime(self.deleted_at),
                string_to_datetime(self.event_delete.deleted_at),
                timedelta(seconds=self.leeway)),
            self.msg.format("deleted_at", self.deleted_at,
                            self.event_delete.deleted_at,
                            self.delete_response.reason,
                            self.delete_response.content))
    def test_delete_entry_fields_on_delete_server_response(self):
        """
        Verify that the Delete entry will have all expected fields
        after Server Delete
        """

        self.assertEqual(self.deleted_server.id, self.event_delete.instance,
                         self.msg.format("instance",
                                         self.deleted_server.id,
                                         self.event_delete.instance,
                                         self.delete_response.reason,
                                         self.delete_response.content))
        self.assertTrue(
            EqualityTools.are_datetimes_equal(
                string_to_datetime(self.launched_at_created_server),
                string_to_datetime(self.event_delete.launched_at),
                timedelta(seconds=self.leeway)),
            self.msg.format("launched_at",
                            self.launched_at_created_server,
                            self.event_delete.launched_at,
                            self.delete_response.reason,
                            self.delete_response.content))
        self.assertTrue(
            EqualityTools.are_datetimes_equal(
                string_to_datetime(self.deleted_at),
                string_to_datetime(self.event_delete.deleted_at),
                timedelta(seconds=self.leeway)),
            self.msg.format("deleted_at",
                            self.deleted_at,
                            self.event_delete.deleted_at,
                            self.delete_response.reason,
                            self.delete_response.content))
示例#3
0
    def test_launched_earlier_than_deleted_on_delete_server_response(self):
        """
        Verify that the Delete entry launched_at is earlier than the
        Delete entry deleted_at for a deleted server
        """

        self.assertLess(
            string_to_datetime(self.event_delete.launched_at),
            string_to_datetime(self.event_delete.deleted_at),
            self.msg.format(
                "launched_at", "launched_at earlier than deleted_at",
                ' '.join([
                    self.event_delete.launched_at, self.event_delete.deleted_at
                ]), self.delete_response.reason, self.delete_response.content))
    def test_launched_earlier_than_deleted_on_delete_server_response(self):
        """
        Verify that the Delete entry launched_at is earlier than the
        Delete entry deleted_at for a deleted server
        """

        self.assertLess(
            string_to_datetime(self.event_delete.launched_at),
            string_to_datetime(self.event_delete.deleted_at),
            self.msg.format("launched_at",
                            "launched_at earlier than deleted_at",
                            ' '.join([self.event_delete.launched_at,
                                      self.event_delete.deleted_at]),
                            self.delete_response.reason,
                            self.delete_response.content))
示例#5
0
    def test_get_launches_by_date_max(self):
        """
        @summary: Verify that Get Launches by maximum date
                  returns 200 Success response
            1.  Get Launches for the past few days
            2.  Iterate through the list to look for a non null launched_at
            3.  Add 1 day to the launched at for maximum date filter
        """

        date_min = datetime.utcnow() - timedelta(days=int(self.days_passed))
        response = (self.stacktach_db_behavior
                    .list_launches_by_date_min(launched_at_min=date_min))

        for launch in response.entity:
            if launch.launched_at is not None:
                launched_at = str(launch.launched_at)
                break
        # Microseconds may or may not be returned
        date_obj = string_to_datetime(launched_at)
        date_max = date_obj + timedelta(days=1)
        response = (self.stacktach_db_behavior
                    .list_launches_by_date_max(launched_at_max=date_max))

        self.assertEqual(response.status_code, 200,
                         self.msg.format("status code", "200",
                                         response.status_code,
                                         response.reason,
                                         response.content))
        self.verify_launches_entity_attribute_values(response.entity)
示例#6
0
    def validate_exist_entry_audit_period_values(
            self, expected_audit_period_ending,
            expected_audit_period_beginning, event_exist_server=None):
        """
        @summary: Validate that the Exist entry will have all expected values
         related to audit periods
        @param expected_audit_period_ending: The expected audit period ending
            of the server
        @type expected_audit_period_ending: datetime
        @param expected_audit_period_beginning: The expected audit period
            beginning of the server
        @type expected_audit_period_beginning: datetime
        @param event_exist_server: Details of the event Exist from DB
        @type event_exist_server: ServerExists
        """
        self.event_exist_server = self.event_exist
        if event_exist_server:
            self.event_exist_server = event_exist_server

        self.assertTrue(EqualityTools.are_datetimes_equal(
            string_to_datetime(expected_audit_period_ending),
            string_to_datetime(self.event_exist_server.audit_period_ending),
            timedelta(seconds=self.leeway)))
        self.assertTrue(EqualityTools.are_datetimes_equal(
            string_to_datetime(expected_audit_period_beginning),
            string_to_datetime(self.event_exist_server.audit_period_beginning),
            timedelta(seconds=self.leeway)))
        self.assertTrue(EqualityTools.are_datetimes_equal(
            string_to_datetime(expected_audit_period_ending),
            string_to_datetime(self.event_exist_server.received),
            timedelta(seconds=self.leeway)))
 def test_exists_entry_fields_on_rescue_server_response(self):
     """
     Verify that the Exist entry will have all expected fields
     after Server Rescue
     """
     self.validate_exist_entry_field_values(server=self.unrescued_server)
     self.assertTrue(
         EqualityTools.are_datetimes_equal(
             string_to_datetime(self.rescue_start_time),
             string_to_datetime(self.event_exist.audit_period_ending),
             timedelta(seconds=self.leeway),
         )
     )
     self.assertTrue(
         EqualityTools.are_datetimes_equal(
             string_to_datetime(self.audit_period_beginning),
             string_to_datetime(self.event_exist.audit_period_beginning),
             timedelta(seconds=self.leeway),
         )
     )
     self.assertTrue(
         EqualityTools.are_datetimes_equal(
             string_to_datetime(self.rescue_start_time),
             string_to_datetime(self.event_exist.received),
             timedelta(seconds=self.leeway),
         )
     )
示例#8
0
    def test_get_deletes_by_date_max(self):
        """
        @summary: Verify that Get Deletes by maximum date
                  returns 200 Success response
            1.  Get Deletes for the past few days
            2.  Choose the first deleted at for maximum date filter
        """

        date_min = datetime.utcnow() - timedelta(days=int(self.days_passed))
        response = self.stacktach_db_behavior.list_deletes_by_date_min(deleted_at_min=date_min)

        deleted_at = response.entity[0].deleted_at
        # Microseconds may or may not be returned
        date_max = string_to_datetime(deleted_at)
        response = self.stacktach_db_behavior.list_deletes_by_date_max(deleted_at_max=date_max)

        self.assertEqual(
            response.status_code,
            200,
            self.msg.format("status code", "200", response.status_code, response.reason, response.content),
        )
        self.verify_deletes_entity_attribute_values(response.entity)
示例#9
0
    def test_get_deletes_by_date_max(self):
        """
        @summary: Verify that Get Deletes by maximum date
                  returns 200 Success response
            1.  Get Deletes for the past few days
            2.  Choose the first deleted at for maximum date filter
        """

        date_min = datetime.utcnow() - timedelta(days=int(self.days_passed))
        response = (self.stacktach_db_behavior.list_deletes_by_date_min(
            deleted_at_min=date_min))

        deleted_at = response.entity[0].deleted_at
        # Microseconds may or may not be returned
        date_max = string_to_datetime(deleted_at)
        response = (self.stacktach_db_behavior.list_deletes_by_date_max(
            deleted_at_max=date_max))

        self.assertEqual(
            response.status_code, 200,
            self.msg.format("status code", "200", response.status_code,
                            response.reason, response.content))
        self.verify_deletes_entity_attribute_values(response.entity)
 def test_exists_entry_fields_on_rescue_server_response(self):
     """
     Verify that the Exist entry will have all expected fields
     after Server Rescue
     """
     self.validate_exist_entry_field_values(server=self.unrescued_server)
     self.assertTrue(
         EqualityTools.are_datetimes_equal(
             string_to_datetime(self.rescue_start_time),
             string_to_datetime(self.event_exist.audit_period_ending),
             timedelta(seconds=self.leeway)))
     self.assertTrue(
         EqualityTools.are_datetimes_equal(
             string_to_datetime(self.audit_period_beginning),
             string_to_datetime(self.event_exist.audit_period_beginning),
             timedelta(seconds=self.leeway)))
     self.assertTrue(
         EqualityTools.are_datetimes_equal(
             string_to_datetime(self.rescue_start_time),
             string_to_datetime(self.event_exist.received),
             timedelta(seconds=self.leeway)))
示例#11
0
    def validate_exist_entry_audit_period_values(
            self,
            expected_audit_period_ending,
            expected_audit_period_beginning,
            event_exist_server=None):
        """
        @summary: Validate that the Exist entry will have all expected values
         related to audit periods
        @param expected_audit_period_ending: The expected audit period ending
            of the server
        @type expected_audit_period_ending: datetime
        @param expected_audit_period_beginning: The expected audit period
            beginning of the server
        @type expected_audit_period_beginning: datetime
        @param event_exist_server: Details of the event Exist from DB
        @type event_exist_server: ServerExists
        """
        self.event_exist_server = self.event_exist
        if event_exist_server:
            self.event_exist_server = event_exist_server

        self.assertTrue(
            EqualityTools.are_datetimes_equal(
                string_to_datetime(expected_audit_period_ending),
                string_to_datetime(
                    self.event_exist_server.audit_period_ending),
                timedelta(seconds=self.leeway)))
        self.assertTrue(
            EqualityTools.are_datetimes_equal(
                string_to_datetime(expected_audit_period_beginning),
                string_to_datetime(
                    self.event_exist_server.audit_period_beginning),
                timedelta(seconds=self.leeway)))
        self.assertTrue(
            EqualityTools.are_datetimes_equal(
                string_to_datetime(expected_audit_period_ending),
                string_to_datetime(self.event_exist_server.received),
                timedelta(seconds=self.leeway)))
示例#12
0
    def validate_exist_entry_field_values(self,
                                          server,
                                          event_exist_server=None,
                                          expected_flavor_ref=None,
                                          launched_at=None):
        """
        @summary: Validate that the Exist entry will have all expected values
        @param server: Details of the server created in test
        @type server: Server
        @param event_exist_server: Details of the event Exist from DB
        @type event_exist_server: ServerExists
        @param expected_flavor_ref: The expected flavor to verify against
        @type expected_flavor_ref: String
        @param launched_at: The launched_at time of the server
        @type launched_at: datetime
        """

        self.event_exist_server = self.event_exist
        if event_exist_server:
            self.event_exist_server = event_exist_server

        self.expected_flavor_ref = self.flavor_ref
        if expected_flavor_ref:
            self.expected_flavor_ref = expected_flavor_ref

        self.launched_at = self.launched_at_created_server
        if launched_at:
            self.launched_at = launched_at

        self.assertEqual(
            server.id, self.event_exist_server.instance,
            self.msg.format("instance", self.created_server.id,
                            self.event_exist_server.instance,
                            self.exist_response.reason,
                            self.exist_response.content))
        self.assertEqual(
            server.flavor.id, self.event_exist_server.instance_type_id,
            self.msg.format("instance_type_id", self.created_server.flavor.id,
                            self.event_exist_server.instance_type_id,
                            self.exist_response.reason,
                            self.exist_response.content))
        self.assertEqual(
            self.expected_flavor_ref, self.event_exist_server.instance_type_id,
            self.msg.format("instance_type_id", self.expected_flavor_ref,
                            self.event_exist_server.instance_type_id,
                            self.exist_response.reason,
                            self.exist_response.content))
        self.assertEqual(
            self.expected_flavor_ref,
            self.event_exist_server.instance_flavor_id,
            self.msg.format("instance_flavor_id", self.expected_flavor_ref,
                            self.event_exist_server.instance_flavor_id,
                            self.exist_response.reason,
                            self.exist_response.content))
        self.assertIn(
            self.event_exist_server.status, ['pending', 'verified'],
            self.msg.format("status", "Not None, Empty or unexpected value",
                            self.event_exist_server.status,
                            self.exist_response.reason,
                            self.exist_response.content))
        self.assertIn(
            self.event_exist_server.send_status, [0, 201],
            self.msg.format("send_status",
                            "Not None, Empty or unexpected value",
                            self.event_exist_server.status,
                            self.exist_response.reason,
                            self.exist_response.content))
        self.assertTrue(
            EqualityTools.are_datetimes_equal(
                string_to_datetime(self.launched_at),
                string_to_datetime(self.event_exist_server.launched_at),
                timedelta(seconds=self.leeway)),
            self.msg.format("launched_at", self.launched_at,
                            self.event_exist_server.launched_at,
                            self.exist_response.reason,
                            self.exist_response.content))
示例#13
0
    def validate_launch_entry_field_values(self,
                                           server,
                                           event_launch_server=None,
                                           expected_flavor_ref=None,
                                           launched_at=None):
        """
        @summary: Validate that the Launch entry will have all expected values
        @param server: Details of the server created in test
        @type server: Server
        @param event_launch_server: Details of the event Launch from DB
        @type event_launch_server: ServerLaunch
        @param expected_flavor_ref: The expected flavor to verify against
        @type expected_flavor_ref: String
        @param launched_at: The launched_at time of the server
        @type launched_at: datetime
        """
        self.event_launch_server = self.event_launch
        if event_launch_server:
            self.event_launch_server = event_launch_server

        self.expected_flavor_ref = self.flavor_ref
        if expected_flavor_ref:
            self.expected_flavor_ref = expected_flavor_ref

        self.launched_at = self.launched_at_created_server
        if launched_at:
            self.launched_at = launched_at

        self.assertEqual(
            server.id, self.event_launch_server.instance,
            self.msg.format("instance", server.id,
                            self.event_launch_server.instance,
                            self.launch_response.reason,
                            self.launch_response.content))
        self.assertEqual(
            server.flavor.id, self.event_launch_server.instance_type_id,
            self.msg.format("instance_type_id", server.flavor.id,
                            self.event_launch_server.instance_type_id,
                            self.launch_response.reason,
                            self.launch_response.content))
        self.assertEqual(
            self.expected_flavor_ref,
            self.event_launch_server.instance_type_id,
            self.msg.format("instance_type_id", self.expected_flavor_ref,
                            self.event_launch_server.instance_type_id,
                            self.launch_response.reason,
                            self.launch_response.content))
        self.assertEqual(
            self.expected_flavor_ref,
            self.event_launch_server.instance_flavor_id,
            self.msg.format("instance_flavor_id", self.expected_flavor_ref,
                            self.event_launch_server.instance_flavor_id,
                            self.launch_response.reason,
                            self.launch_response.content))
        self.assertTrue(
            EqualityTools.are_datetimes_equal(
                string_to_datetime(self.launched_at),
                string_to_datetime(self.event_launch_server.launched_at),
                timedelta(seconds=self.leeway)),
            self.msg.format("launched_at", self.launched_at,
                            self.event_launch_server.launched_at,
                            self.launch_response.reason,
                            self.launch_response.content))
示例#14
0
    def validate_exist_entry_field_values(self, server,
                                          event_exist_server=None,
                                          expected_flavor_ref=None,
                                          launched_at=None):
        """
        @summary: Validate that the Exist entry will have all expected values
        @param server: Details of the server created in test
        @type server: Server
        @param event_exist_server: Details of the event Exist from DB
        @type event_exist_server: ServerExists
        @param expected_flavor_ref: The expected flavor to verify against
        @type expected_flavor_ref: String
        @param launched_at: The launched_at time of the server
        @type launched_at: datetime
        """

        self.event_exist_server = self.event_exist
        if event_exist_server:
            self.event_exist_server = event_exist_server

        self.expected_flavor_ref = self.flavor_ref
        if expected_flavor_ref:
            self.expected_flavor_ref = expected_flavor_ref

        self.launched_at = self.launched_at_created_server
        if launched_at:
            self.launched_at = launched_at

        self.assertEqual(server.id, self.event_exist_server.instance,
                         self.msg.format("instance",
                                         self.created_server.id,
                                         self.event_exist_server.instance,
                                         self.exist_response.reason,
                                         self.exist_response.content))
        self.assertEqual(server.flavor.id,
                         self.event_exist_server.instance_type_id,
                         self.msg.format(
                             "instance_type_id",
                             self.created_server.flavor.id,
                             self.event_exist_server.instance_type_id,
                             self.exist_response.reason,
                             self.exist_response.content))
        self.assertEqual(self.expected_flavor_ref,
                         self.event_exist_server.instance_type_id,
                         self.msg.format(
                             "instance_type_id",
                             self.expected_flavor_ref,
                             self.event_exist_server.instance_type_id,
                             self.exist_response.reason,
                             self.exist_response.content))
        self.assertEqual(self.expected_flavor_ref,
                         self.event_exist_server.instance_flavor_id,
                         self.msg.format(
                             "instance_flavor_id",
                             self.expected_flavor_ref,
                             self.event_exist_server.instance_flavor_id,
                             self.exist_response.reason,
                             self.exist_response.content))
        self.assertIn(self.event_exist_server.status, ['pending', 'verified'],
                      self.msg.format("status",
                                      "Not None, Empty or unexpected value",
                                      self.event_exist_server.status,
                                      self.exist_response.reason,
                                      self.exist_response.content))
        self.assertIn(self.event_exist_server.send_status, [0, 201],
                      self.msg.format("send_status",
                                      "Not None, Empty or unexpected value",
                                      self.event_exist_server.status,
                                      self.exist_response.reason,
                                      self.exist_response.content))
        self.assertTrue(
            EqualityTools.are_datetimes_equal(
                string_to_datetime(self.launched_at),
                string_to_datetime(self.event_exist_server.launched_at),
                timedelta(seconds=self.leeway)),
            self.msg.format("launched_at",
                            self.launched_at,
                            self.event_exist_server.launched_at,
                            self.exist_response.reason,
                            self.exist_response.content))
示例#15
0
    def validate_launch_entry_field_values(self, server,
                                           event_launch_server=None,
                                           expected_flavor_ref=None,
                                           launched_at=None):
        """
        @summary: Validate that the Launch entry will have all expected values
        @param server: Details of the server created in test
        @type server: Server
        @param event_launch_server: Details of the event Launch from DB
        @type event_launch_server: ServerLaunch
        @param expected_flavor_ref: The expected flavor to verify against
        @type expected_flavor_ref: String
        @param launched_at: The launched_at time of the server
        @type launched_at: datetime
        """
        self.event_launch_server = self.event_launch
        if event_launch_server:
            self.event_launch_server = event_launch_server

        self.expected_flavor_ref = self.flavor_ref
        if expected_flavor_ref:
            self.expected_flavor_ref = expected_flavor_ref

        self.launched_at = self.launched_at_created_server
        if launched_at:
            self.launched_at = launched_at

        self.assertEqual(server.id,
                         self.event_launch_server.instance,
                         self.msg.format(
                             "instance",
                             server.id,
                             self.event_launch_server.instance,
                             self.launch_response.reason,
                             self.launch_response.content))
        self.assertEqual(server.flavor.id,
                         self.event_launch_server.instance_type_id,
                         self.msg.format(
                             "instance_type_id",
                             server.flavor.id,
                             self.event_launch_server.instance_type_id,
                             self.launch_response.reason,
                             self.launch_response.content))
        self.assertEqual(self.expected_flavor_ref,
                         self.event_launch_server.instance_type_id,
                         self.msg.format(
                             "instance_type_id",
                             self.expected_flavor_ref,
                             self.event_launch_server.instance_type_id,
                             self.launch_response.reason,
                             self.launch_response.content))
        self.assertEqual(self.expected_flavor_ref,
                         self.event_launch_server.instance_flavor_id,
                         self.msg.format(
                             "instance_flavor_id",
                             self.expected_flavor_ref,
                             self.event_launch_server.instance_flavor_id,
                             self.launch_response.reason,
                             self.launch_response.content))
        self.assertTrue(
            EqualityTools.are_datetimes_equal(
                string_to_datetime(self.launched_at),
                string_to_datetime(self.event_launch_server.launched_at),
                timedelta(seconds=self.leeway)),
            self.msg.format("launched_at",
                            self.launched_at,
                            self.event_launch_server.launched_at,
                            self.launch_response.reason,
                            self.launch_response.content))