def test_port_group_delete(self):
        portgroup = PortGroup()
        portgroup.id = 'PG1'
        portgroup.name = 'test'
        portgroup.note = 'note'
        from decimal import Decimal
        portgroup.value = Decimal('123.00')
        portgroup.units = 'uni'
        portgroup.resourceManagerId = 'rm1'
        portgroup.type = 'port'
        portgroup.virtualSwitchId = 'VS1'
        portgroup.vmHostId = 'VM1'
        api.port_group_save(get_admin_context(), portgroup)

        pgs = api.port_group_get_by_ids(get_admin_context(),
                                        [portgroup.id])
        self.assertFalse(len(pgs) == 0, 'Portgroup could not be saved')

        api.port_group_delete_by_ids(get_admin_context(),
                                     [portgroup.id])
        portgroups = api.port_group_get_by_ids(get_admin_context(),
                                               [portgroup.id])

        self.assertTrue(portgroups is None or len(portgroups) == 0,
                        'port group not deleted')
 def test_timestamp_columns(self):
     """
         Test the time stamp columns createEpoch,
         modifiedEpoch and deletedEpoch
     """
     portGrp = PortGroup()
     portGrp.set_id('portGrp-01')
     # Check for createEpoch
     epoch_before = utils.get_current_epoch_ms()
     api.port_group_save(get_admin_context(), portGrp)
     epoch_after = utils.get_current_epoch_ms()
     portGrp_queried = api.port_group_get_by_ids(
         get_admin_context(), [portGrp.get_id()])[0]
     self.assert_(test_utils.is_timestamp_between(
         epoch_before, epoch_after, portGrp_queried.get_createEpoch()))
     # Check for lastModifiedEpoch
     portGrp_modified = portGrp_queried
     test_utils.unset_timestamp_fields(portGrp_modified)
     portGrp_modified.set_name('changed_name')
     epoch_before = utils.get_current_epoch_ms()
     api.port_group_save(get_admin_context(), portGrp_modified)
     epoch_after = utils.get_current_epoch_ms()
     portGrp_queried = api.port_group_get_by_ids(
         get_admin_context(), [portGrp.get_id()])[0]
     self.assert_(portGrp_modified.get_createEpoch(
     ) == portGrp_queried.get_createEpoch())
     self.assert_(test_utils.is_timestamp_between(
         epoch_before,
         epoch_after,
         portGrp_queried.get_lastModifiedEpoch()))
    def test_port_group_save(self):
        portgroup = PortGroup()
        portgroup.id = 'PG1'
        portgroup.name = 'test'
        portgroup.note = 'note'
        api.port_group_save(get_admin_context(), portgroup)

        portgroup = PortGroup()
        portgroup.id = 'PG1'
        portgroup.name = 'test'
        portgroup.note = 'note'
        cost = Cost()
        cost.value = Decimal('123.00')
        cost.units = 'INR'
        portgroup.cost = cost
        portgroup.resourceManagerId = 'rm1'
        portgroup.type = 'port'
        portgroup.virtualSwitchId = 'VS1'
        portgroup.vmHostId = 'VM1'
        api.port_group_save(get_admin_context(), portgroup)
        pgs = api.port_group_get_by_ids(get_admin_context(),
                                        [portgroup.id])

        indexOfThePG = -1
        for pg in pgs:
            if pg.id == portgroup.id:
                indexOfThePG = pgs.index(pg)
                break

        self.assertTrue(
            portgroup.id == pgs[indexOfThePG].id, 'Portgroup id is invalid')
        self.assertTrue(portgroup.name == pgs[indexOfThePG].name,
                        ' PortGroup name is invalid')
        self.assertTrue(portgroup.note == pgs[indexOfThePG].note,
                        'PortGroup Note is invalid')
        self.assertTrue(portgroup.cost.value == pgs[indexOfThePG]
                        .cost.value, 'PortGroup Value is invalid')
        self.assertTrue(portgroup.cost.units == pgs[indexOfThePG]
                        .cost.units, 'PortGroup Units is invalid')
        self.assertTrue(
            portgroup.resourceManagerId == pgs[indexOfThePG].resourceManagerId,
            'PortGroup resourceManagerId is invalid')
        self.assertTrue(portgroup.get_type(
        ) == pgs[indexOfThePG].get_type(), 'PortGroup type is invalid')
        self.assertTrue(
            portgroup.virtualSwitchId == pgs[indexOfThePG].virtualSwitchId,
            'PortGroup virtualSwitchId is invalid')
        self.assertTrue(portgroup.vmHostId == pgs[indexOfThePG]
                        .vmHostId, 'PortGroup vmHostId is invalid')

        self.assertTrue(len(pgs) == 1,
                        'port groups all returned valid number of list')
 def test_port_group_get_by_id_empty_list(self):
     pgs = api.port_group_get_by_ids(get_admin_context(), None)
     self.assertTrue(
         pgs is None, 'The returned Portgroups list should be empty')