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')