def setUp(self): self.client = login_as_su() self.category = AssetCategoryFactory() self.asset = AssetFactory() self.asset1 = AssetFactory() self.model = AssetModelFactory(category=self.category) self.model1 = AssetModelFactory(category=self.category) self.user = UserFactory() self.warehouse = WarehouseFactory() self.assetOwner = AssetOwnerFactory() self.asset_service = ServiceFactory() self.common_asset_data = { # DC & BO common data 'barcode': 'barcode', 'deprecation_rate': '25', 'invoice_date': '2011-11-14', 'invoice_no': 'invoice_no', 'model': self.model, 'order_no': 'order_no', 'owner': self.user, 'price': '100', 'property_of': self.assetOwner, 'service_name': self.asset_service, 'source': models_assets.AssetSource.shipment, 'status': models_assets.AssetStatus.in_progress, 'task_url': 'www.test.com', 'user': self.user, 'warehouse': self.warehouse, }
def setUp(self): self.client = login_as_su() self.first_asset = AssetFactory( invoice_no='Invoice No1', order_no='Order No2', invoice_date=datetime.date(2001, 1, 1), support_type='Support d2d', provider='Provider1', sn='1234-1234-1234-1234', barcode='bc1', ) self.second_asset = AssetFactory( invoice_no='Invoice No2', order_no='Order No1', invoice_date=datetime.date(2001, 1, 1), support_type='Support d2d', provider='Provider2', sn='1235-1235-1235-1235', barcode='bc2', ) asset_model = create_model(name='Model2') asset_status = AssetStatus.used.id self.third_asset = AssetFactory( model=asset_model, invoice_no='Invoice No1', order_no='Order No1', invoice_date=datetime.date(2001, 1, 1), support_type='Support d2d', provider='Provider1', sn='1236-1236-1236-1236', barcode='bc3', status=asset_status, )
def setUp(self): User.objects.create_superuser('test', '*****@*****.**', 'test') self.client = APIClient() self.client.login(username='******', password='******') self.rack_1 = RackFactory(max_u_height=3) rack_2 = RackFactory() self.dev_1 = DeviceFactory(name="h001.dc") self.dev_1.management_ip = '10.20.30.1' self.dev_2 = DeviceFactory(name="h002.dc") self.dev_2.management_ip = '10.20.30.2' self.asset_1 = AssetFactory( device_info__position=1, device_info__slot_no='', device_info__ralph_device_id=self.dev_1.id, service=ServiceCatalogFactory(name='Alpha Service'), ) self.asset_2 = AssetFactory( device_info__position=2, device_info__slot_no='', device_info__ralph_device_id=self.dev_2.id, service=ServiceCatalogFactory(name='Beta Service'), ) asset_3 = AssetFactory() self.rack_1.deviceinfo_set.add(self.asset_1.device_info) self.rack_1.deviceinfo_set.add(self.asset_2.device_info) rack_2.deviceinfo_set.add(asset_3.device_info) self.pdu_1 = AssetFactory( device_info__rack=self.rack_1, device_info__orientation=Orientation.left, device_info__position=0, ) self.rack_1.deviceinfo_set.add(self.pdu_1.device_info) self.rack1_accessory = RackAccessoryFactory( rack=self.rack_1, server_room=self.rack_1.server_room, data_center=self.rack_1.server_room.data_center, orientation=Orientation.front, ) self.rack2_accessory = RackAccessoryFactory( rack=rack_2, server_room=rack_2.server_room, data_center=rack_2.server_room.data_center, orientation=Orientation.front, )
def setUp(self): self.client = login_as_su() self.first_asset = AssetFactory( invoice_date=datetime.date(2001, 1, 1), sn='1234-1234-1234-1234', ) self.second_asset = AssetFactory( invoice_date=datetime.date(2002, 1, 1), sn='1235-1235-1235-1235', ) self.third_asset = AssetFactory( invoice_date=datetime.date(2003, 1, 1), sn='1236-1236-1236-1236', )
def setUp(self): self.client = login_as_su() self.category = AssetCategoryFactory() self.model = AssetModelFactory(category=self.category) self.warehouse = WarehouseFactory() self.first_asset = AssetFactory(model=self.model, ) self.second_asset = AssetFactory(model=self.model, ) self.asset_with_duplicated_sn = AssetFactory(model=self.model, ) # Prepare required fields (formset_name, field_name) self.required_fields = [ ('asset_form', 'model'), ('asset_form', 'warehouse'), ] self.model1 = AssetModelFactory()
def setUp(self): self.client = login_as_su() self.base_url = '/assets/dc/search' self.first_asset = AssetFactory( production_use_date=datetime.date(2001, 1, 1), sn='1234-1234-1234-1234', ) self.second_asset = AssetFactory( production_use_date=datetime.date(2002, 1, 1), sn='1235-1235-1235-1235', ) self.third_asset = AssetFactory( production_use_date=datetime.date(2003, 1, 1), sn='1236-1236-1236-1236', )
def setUp(self): self.asset = AssetFactory( invoice_date=datetime.date(2012, 11, 28), support_period=1, deprecation_rate=100, ) self.asset.device_info.ralph_device_id = 666 self.asset.device_info.save() self.asset2 = AssetFactory( invoice_date=datetime.date(2012, 11, 28), support_period=120, deprecation_rate=50, ) self.asset2.device_info.ralph_device_id = 667 self.asset2.device_info.save() self.asset3 = AssetFactory( invoice_date=datetime.date(2012, 11, 28), support_period=120, deprecation_rate=50, force_deprecation=True, ) self.asset_depr_date = AssetFactory( sn='1111-1111-1111-1114', invoice_date=datetime.date(2012, 11, 28), support_period=120, deprecation_rate=50, deprecation_end_date=datetime.date(2014, 12, 15), ) dev1 = Device.create( [('1', 'sda', 0)], model_name='xxx', model_type=DeviceType.rack_server, allow_stub=1, ) dev1.id = 666 dev1.save() dev2 = Device.create( [('1', 'dawdwad', 0)], model_name='Unknown', model_type=DeviceType.unknown, allow_stub=1, ) dev2.id = 667 dev2.save()
def test_venture(self): venture = Venture.objects.create(name='v1') self.dev1.venture = venture self.dev1.save() asset_without_device = AssetFactory(device_info=None) self.assertEqual(self.asset.venture, venture) self.assertEqual(self.asset2.venture, None) self.assertEqual(asset_without_device.venture, None)
class TestApiAssets(TestCase): def setUp(self): self.category = AssetSubCategoryFactory(is_blade=True) self.model = AssetModelFactory(category=self.category) self.asset = AssetFactory( invoice_date=datetime.date(2012, 11, 28), support_period=1, slots=12.0, price=100, deprecation_rate=100, model=self.model, ) part_info = PartInfo(device=self.asset) part_info.save() self.asset2 = AssetFactory( invoice_date=datetime.date(2012, 11, 28), support_period=1, slots=12.0, price=100, part_info=part_info, deprecation_rate=50, model=self.model, ) def tests_api_asset(self): date = datetime.date(2014, 03, 29) for item in get_assets(date): self.assertEqual(item['asset_id'], self.asset.id) self.assertEqual( item['ralph_id'], self.asset.device_info.ralph_device_id, ) self.assertEqual(item['slots'], self.asset.slots) self.assertEqual(item['price'], self.asset.price) self.assertEqual( item['is_deprecated'], self.asset.is_deprecated(date) ) self.assertEqual(item['sn'], self.asset.sn) self.assertEqual(item['barcode'], self.asset.barcode) self.assertEqual(item['venture_id'], self.asset.venture.id) self.assertEqual(item['is_blade'], self.category.is_blade) self.assertEqual(item['cores_count'], self.asset.cores_count) def tests_api_asset_part(self): for item in get_asset_parts(): self.assertEqual(item['price'], 100) # self.assertEqual(item['is_deprecated'], False) model = self.model self.assertEqual(item['model'], model.name) self.assertEqual(item['asset_id'], self.asset2.id) self.assertEqual(item['sn'], self.asset.sn) self.assertEqual(item['barcode'], self.asset.barcode)
def test_showing_dc_form_data(self): """ 1. add DC asset, 2. open asset in bulk mode, 3. check if all fields are set like the added asset. """ dc_asset_data = self.common_asset_data.copy() dc_asset_data.update({'sn': 'dc-sn-number'}) dc_asset = AssetFactory(**dc_asset_data) self._test_showing_form_data( 'dc', dc_asset.id, dc_asset_data )
class TestApiAssets(TestCase): def setUp(self): self.category = AssetSubCategoryFactory(is_blade=True) self.model = AssetModelFactory(category=self.category) self.asset = AssetFactory( invoice_date=datetime.date(2012, 11, 28), support_period=1, slots=12.0, price=100, deprecation_rate=100, model=self.model, ) part_info = PartInfo(device=self.asset) part_info.save() self.asset2 = AssetFactory( invoice_date=datetime.date(2012, 11, 28), support_period=1, slots=12.0, price=100, part_info=part_info, deprecation_rate=50, model=self.model, ) self.stock_venture = Venture.objects.get(name='Stock') def tests_api_asset(self): date = datetime.date(2014, 03, 29) for item in get_assets(date): self.assertEqual(item['asset_id'], self.asset.id) self.assertEqual( item['ralph_id'], self.asset.device_info.ralph_device_id, ) self.assertEqual(item['slots'], self.asset.slots) self.assertEqual(item['price'], self.asset.price) self.assertEqual(item['is_deprecated'], self.asset.is_deprecated(date)) self.assertEqual(item['sn'], self.asset.sn) self.assertEqual(item['barcode'], self.asset.barcode) self.assertEqual(item['venture_id'], self.stock_venture.id) self.assertEqual(item['is_blade'], self.category.is_blade) self.assertEqual(item['cores_count'], self.asset.cores_count) def tests_api_asset_part(self): for item in get_asset_parts(): self.assertEqual(item['price'], 100) # self.assertEqual(item['is_deprecated'], False) model = self.model self.assertEqual(item['model'], model.name) self.assertEqual(item['asset_id'], self.asset2.id) self.assertEqual(item['sn'], self.asset.sn) self.assertEqual(item['barcode'], self.asset.barcode)
def test_when_device_does_not_exist_and_asset_identity_is_given(self): device = DeviceFactory() device_info = DeviceInfoFactory(ralph_device_id=device.id) asset = AssetFactory( barcode="testbarcode", device_info=device_info, ) self.data.update({"asset_identity": asset.barcode}) util.create_deployments([self.data], self.user, self.mass_deployment) deployments = Deployment.objects.all() self.assertEqual(deployments.count(), 1) self.assertEqual(deployments[0].device, device)
def setUp(self): self.category = AssetSubCategoryFactory(is_blade=True) self.model = AssetModelFactory(category=self.category) self.asset = AssetFactory( invoice_date=datetime.date(2012, 11, 28), support_period=1, slots=12.0, price=100, deprecation_rate=100, model=self.model, ) part_info = PartInfo(device=self.asset) part_info.save() self.asset2 = AssetFactory( invoice_date=datetime.date(2012, 11, 28), support_period=1, slots=12.0, price=100, part_info=part_info, deprecation_rate=50, model=self.model, ) self.stock_venture = Venture.objects.get(name='Stock')
def setUp(self): self.client = login_as_su() self.testing_urls = { 'dc': reverse('asset_search', args=('dc', )), 'bo': reverse('asset_search', args=('back_office', )), } self.assets_dc = [AssetFactory() for _ in range(5)] self.assets_bo = [BOAssetFactory() for _ in range(5)] for name in ['iPad 5 16 GB', 'ProLiant BL2x2d', 'WS-CBS312']: AssetFactory(model__name=name) BOAssetFactory(model__name=name) for manufacturer in ['Apple', 'Sony', 'Nikon', 'Sony Ericsson']: manu = AssetManufacturerFactory(name=manufacturer) AssetFactory(model__manufacturer=manu) BOAssetFactory(model__manufacturer=manu) sam.LicenceFactory(manufacturer=manu) for unique in ['123456', '456123']: AssetFactory(barcode=unique, sn=unique, niw=unique) for unique in ['654321', '321654']: BOAssetFactory(barcode=unique, sn=unique, niw=unique) self.msg_error = 'Error in {}, request has return {} but expected {}.'
def setUp(self): self.asset = AssetFactory( invoice_date=datetime.date(2012, 11, 28), support_period=1, deprecation_rate=100, ) self.asset.device_info.ralph_device_id = 666 self.asset.device_info.save() self.asset2 = AssetFactory( invoice_date=datetime.date(2012, 11, 28), support_period=120, deprecation_rate=50, ) self.asset2.device_info.ralph_device_id = 667 self.asset2.device_info.save() self.asset3 = AssetFactory( invoice_date=datetime.date(2012, 11, 28), support_period=120, deprecation_rate=50, force_deprecation=True, ) self.asset_depr_date = AssetFactory( sn='1111-1111-1111-1114', invoice_date=datetime.date(2012, 11, 28), support_period=120, deprecation_rate=50, deprecation_end_date=datetime.date(2014, 12, 15), ) self.dev1 = Device.create( [('1', 'sda', 0)], model_name='xxx', model_type=DeviceType.rack_server, allow_stub=1, ) self.dev1.id = 666 self.dev1.save() dev2 = Device.create( [('1', 'dawdwad', 0)], model_name='Unknown', model_type=DeviceType.unknown, allow_stub=1, ) dev2.id = 667 dev2.save()
def setUp(self): self.category = AssetSubCategoryFactory(is_blade=True) self.model = AssetModelFactory(category=self.category) self.asset = AssetFactory( invoice_date=datetime.date(2012, 11, 28), support_period=1, slots=12.0, price=100, deprecation_rate=100, model=self.model, ) part_info = PartInfo(device=self.asset) part_info.save() self.asset2 = AssetFactory( invoice_date=datetime.date(2012, 11, 28), support_period=1, slots=12.0, price=100, part_info=part_info, deprecation_rate=50, model=self.model, )
class TestModelAsset(TestCase): def setUp(self): self.asset = AssetFactory( invoice_date=datetime.date(2012, 11, 28), support_period=1, deprecation_rate=100, ) self.asset.device_info.ralph_device_id = 666 self.asset.device_info.save() self.asset2 = AssetFactory( invoice_date=datetime.date(2012, 11, 28), support_period=120, deprecation_rate=50, ) self.asset2.device_info.ralph_device_id = 667 self.asset2.device_info.save() self.asset3 = AssetFactory( invoice_date=datetime.date(2012, 11, 28), support_period=120, deprecation_rate=50, force_deprecation=True, ) self.asset_depr_date = AssetFactory( sn='1111-1111-1111-1114', invoice_date=datetime.date(2012, 11, 28), support_period=120, deprecation_rate=50, deprecation_end_date=datetime.date(2014, 12, 15), ) dev1 = Device.create( [('1', 'sda', 0)], model_name='xxx', model_type=DeviceType.rack_server, allow_stub=1, ) dev1.id = 666 dev1.save() dev2 = Device.create( [('1', 'dawdwad', 0)], model_name='Unknown', model_type=DeviceType.unknown, allow_stub=1, ) dev2.id = 667 dev2.save() def test_is_discovered(self): self.assertEqual(self.asset.is_discovered, True) self.assertEqual(self.asset2.is_discovered, False) self.assertEqual(self.asset3.is_discovered, False) def test_is_deperecation(self): date = datetime.date(2014, 03, 29) self.assertEqual(self.asset.get_deprecation_months(), 12) self.assertEqual(self.asset2.get_deprecation_months(), 24) self.assertEqual(self.asset.is_deprecated(date), True) self.assertEqual(self.asset2.is_deprecated(date), False) self.assertEqual(self.asset3.is_deprecated(date), True) self.assertEqual( self.asset_depr_date.is_deprecated(datetime.date(2014, 12, 10)), False, ) self.assertEqual( self.asset_depr_date.is_deprecated(datetime.date(2014, 12, 20)), True, )
class TestModelAsset(TestCase): def setUp(self): self.asset = AssetFactory( invoice_date=datetime.date(2012, 11, 28), support_period=1, deprecation_rate=100, ) self.asset.device_info.ralph_device_id = 666 self.asset.device_info.save() self.asset2 = AssetFactory( invoice_date=datetime.date(2012, 11, 28), support_period=120, deprecation_rate=50, ) self.asset2.device_info.ralph_device_id = 667 self.asset2.device_info.save() self.asset3 = AssetFactory( invoice_date=datetime.date(2012, 11, 28), support_period=120, deprecation_rate=50, force_deprecation=True, ) self.asset_depr_date = AssetFactory( sn='1111-1111-1111-1114', invoice_date=datetime.date(2012, 11, 28), support_period=120, deprecation_rate=50, deprecation_end_date=datetime.date(2014, 12, 15), ) self.dev1 = Device.create( [('1', 'sda', 0)], model_name='xxx', model_type=DeviceType.rack_server, allow_stub=1, ) self.dev1.id = 666 self.dev1.save() dev2 = Device.create( [('1', 'dawdwad', 0)], model_name='Unknown', model_type=DeviceType.unknown, allow_stub=1, ) dev2.id = 667 dev2.save() def test_is_discovered(self): self.assertEqual(self.asset.is_discovered, True) self.assertEqual(self.asset2.is_discovered, False) self.assertEqual(self.asset3.is_discovered, False) def test_is_deperecation(self): date = datetime.date(2014, 03, 29) self.assertEqual(self.asset.get_deprecation_months(), 12) self.assertEqual(self.asset2.get_deprecation_months(), 24) self.assertEqual(self.asset.is_deprecated(date), True) self.assertEqual(self.asset2.is_deprecated(date), False) self.assertEqual(self.asset3.is_deprecated(date), True) self.assertEqual( self.asset_depr_date.is_deprecated(datetime.date(2014, 12, 10)), False, ) self.assertEqual( self.asset_depr_date.is_deprecated(datetime.date(2014, 12, 20)), True, ) def test_venture(self): venture = Venture.objects.create(name='v1') self.dev1.venture = venture self.dev1.save() asset_without_device = AssetFactory(device_info=None) self.assertEqual(self.asset.venture, venture) self.assertEqual(self.asset2.venture, None) self.assertEqual(asset_without_device.venture, None)
def test_asset(self): asset = AssetFactory(pk=123) history = asset.get_history() self.assertEqual(0, history.count()) asset.sn = '123' asset.save() self.assertEqual(1, history.count()) asset.sn = '1233' asset.save() self.assertEqual(2, history.count()) licence = LicenceFactory() history = licence.get_history() licence.save() licence.save() self.assertEqual(0, history.count()) for i in xrange(5): asset = AssetFactory() licence.assets.add(asset) self.assertEqual(i + 1, history.count())
class TestRestAssetInfoPerRack(TestCase): def setUp(self): User.objects.create_superuser('test', '*****@*****.**', 'test') self.client = APIClient() self.client.login(username='******', password='******') self.rack_1 = RackFactory(max_u_height=3) rack_2 = RackFactory() self.dev_1 = DeviceFactory(name="h001.dc") self.dev_1.management_ip = '10.20.30.1' self.dev_2 = DeviceFactory(name="h002.dc") self.dev_2.management_ip = '10.20.30.2' self.asset_1 = AssetFactory( device_info__position=1, device_info__slot_no='', device_info__ralph_device_id=self.dev_1.id, service=ServiceCatalogFactory(name='Alpha Service'), ) self.asset_2 = AssetFactory( device_info__position=2, device_info__slot_no='', device_info__ralph_device_id=self.dev_2.id, service=ServiceCatalogFactory(name='Beta Service'), ) asset_3 = AssetFactory() self.rack_1.deviceinfo_set.add(self.asset_1.device_info) self.rack_1.deviceinfo_set.add(self.asset_2.device_info) rack_2.deviceinfo_set.add(asset_3.device_info) self.pdu_1 = AssetFactory( device_info__rack=self.rack_1, device_info__orientation=Orientation.left, device_info__position=0, ) self.rack_1.deviceinfo_set.add(self.pdu_1.device_info) self.rack1_accessory = RackAccessoryFactory( rack=self.rack_1, server_room=self.rack_1.server_room, data_center=self.rack_1.server_room.data_center, orientation=Orientation.front, ) self.rack2_accessory = RackAccessoryFactory( rack=rack_2, server_room=rack_2.server_room, data_center=rack_2.server_room.data_center, orientation=Orientation.front, ) def tearDown(self): self.client.logout() def test_get(self): core_url = '/ui/search/info/{0}' returned_json = json.loads( self.client.get( '/assets/api/rack/{0}/'.format(self.rack_1.id) ).content ) self.maxDiff = None expected_json = { 'info': { 'id': self.rack_1.id, 'name': self.rack_1.name, 'data_center': self.rack_1.data_center.id, 'server_room': self.rack_1.server_room.id, 'max_u_height': self.rack_1.max_u_height, 'visualization_col': self.rack_1.visualization_col, 'visualization_row': self.rack_1.visualization_row, 'free_u': self.rack_1.get_free_u(), 'description': '{}'.format(self.rack_1.description), 'orientation': '{}'.format(self.rack_1.get_orientation_desc()), 'rack_admin_url': reverse( 'admin:ralph_assets_rack_change', args=(self.rack_1.id,), ) }, 'devices': [ { '_type': TYPE_ASSET, 'id': self.asset_1.id, 'hostname': self.dev_1.name, 'url': '{}'.format(self.asset_1.get_absolute_url()), 'core_url': core_url.format( self.asset_1.device_info.ralph_device_id), 'category': '{}'.format(self.asset_1.model.category), 'barcode': self.asset_1.barcode, 'sn': '{}'.format(self.asset_1.sn), 'height': float(self.asset_1.model.height_of_device), 'position': self.asset_1.device_info.position, 'model': self.asset_1.model.name, 'children': [], 'front_layout': u'', 'back_layout': u'', 'management_ip': self.dev_1.management_ip.address, 'service': self.asset_1.service.name, 'orientation': 'front', }, { '_type': TYPE_ASSET, 'id': self.asset_2.id, 'hostname': self.dev_2.name, 'url': '{}'.format(self.asset_2.get_absolute_url()), 'core_url': core_url.format( self.asset_2.device_info.ralph_device_id), 'category': '{}'.format(self.asset_2.model.category), 'barcode': self.asset_2.barcode, 'sn': '{}'.format(self.asset_2.sn), 'height': float(self.asset_2.model.height_of_device), 'position': self.asset_2.device_info.position, 'model': self.asset_2.model.name, 'children': [], 'front_layout': u'', 'back_layout': u'', 'management_ip': self.dev_2.management_ip.address, 'service': self.asset_2.service.name, 'orientation': 'front', }, { '_type': TYPE_ACCESSORY, 'orientation': 'front', 'position': self.rack1_accessory.position, 'remarks': self.rack1_accessory.remarks, 'type': self.rack1_accessory.accessory.name, }, ], 'pdus': [ { 'model': self.pdu_1.model.name, 'orientation': 'left', 'url': self.pdu_1.get_absolute_url(), 'sn': '{}'.format(self.pdu_1.sn) }, ] } self.assertEqual(returned_json, expected_json)