def create_device(device, cpu=None, memory=None, storage=None): dev = Device.create( model=device.get('model'), model_name=device.get('model_name'), model_type=device.get('model_type'), sn=device.get('sn'), venture=device.get('venture'), parent=device.get('parent'), price=device.get('price'), deprecation_kind=device.get('deprecation_kind'), purchase_date=device.get('purchase_date'), ) dev.name = device.get('name') dev.save() if cpu: model = create_model(device, cpu, ComponentType.processor) for cpu in duplicate_item(cpu): Processor( device=dev, model=model, label=cpu.get('label'), ).save() if memory: model = create_model(device, memory, ComponentType.memory) for memory in duplicate_item(memory): Memory( device=dev, model=model, speed=memory.get('speed'), size=memory.get('size'), label=memory.get('label'), ).save() if storage: model = create_model(device, storage, ComponentType.disk) for storage in duplicate_item(storage): Storage( device=dev, model=model, label=storage.get('label'), ).save() return dev
def test_processors(self): model = ComponentModel( type=ComponentType.processor, name="CPU Xeon 2533MHz, 4-core", ) model.save() for i in xrange(4): p = Processor( label="ziew", model=model, device=self.device, index=i, ) p.save() data = get_device_data(Device.objects.get(sn='123456789')) processors = data['processors'] self.assertEqual(len(processors), 4) self.assertEqual(processors[0]['label'], "ziew") self.assertEqual(processors[0]['model_name'], "CPU Xeon 2533MHz, 4-core") self.assertEqual(processors[0]['cores'], 4) self.assertEqual(processors[3]['index'], 3)