Exemplo n.º 1
0
 def create_ownerships(self):
     self.ciownership1 = CIOwnership(
         ci=self.ci1,
         owner=self.owner1,
         type=CIOwnershipType.technical,
     )
     self.ciownership1.save()
     self.ciownership2 = CIOwnership(
         ci=self.ci1,
         owner=self.owner2,
         type=CIOwnershipType.business,
     )
     self.ciownership2.save()
     self.ciownership3 = CIOwnership(
         ci=self.ci2,
         owner=self.owner2,
         type=CIOwnershipType.business,
     )
     self.ciownership3.save()
Exemplo n.º 2
0
Arquivo: api.py Projeto: smagowr/ralph
    def hydrate_m2m(self, bundle):
        # Managing m2m
        classes = {'layers': CILayer, 'owners': CIOwner}

        # Usual M2M
        if field in bundle.data:
            m2m_objects = []
            for entry in bundle.data[field]:
                m2m_obj = classes[field].objects.filter(pk=entry['id'])
                if m2m_obj:
                    m2m_obj = m2m_obj[0]
                else:
                    m2m_obj = classes[field](name=entry['name'])
                    m2m_obj.save()
                m2m_objects.append(m2m_obj)

            setattr(bundle.obj, field, m2m_objects)

        # owners is M2M using Intermediary model
        for field in ('business_owners', 'technical_owners'):
            m2m_objects = []
            if field in bundle.data:
                for entry in bundle.data[field]:
                    if 'id' in entry and entry['id'] and CIOwner.objects.filter(
                            pk=entry['id']).count() == 1:
                        m2m_obj = CIOwner.objects.get(pk=entry['id'])
                    else:
                        first_name = entry.get('first_name', '')
                        last_name = entry.get('last_name', '')
                        email = entry.get('email', '')
                        m2m_obj = CIOwner(first_name=first_name,
                                          last_name=last_name,
                                          email=email)
                        m2m_obj.save()
                    m2m_objects.append(m2m_obj)

            for m2m_obj in m2m_objects:
                owner_type = getattr(CIOwnershipType,
                                     field.replace("_owners", ""), "business")
                ownership = CIOwnership(ci=bundle.obj,
                                        owner=m2m_obj,
                                        type=owner_type)
                ownership.save()
        return bundle
Exemplo n.º 3
0
 def setUp(self):
     engine = settings.ISSUETRACKERS['default']['ENGINE']
     if engine != '':
         raise ImproperlyConfigured(
             '''Expected ISSUETRACKERS['default']['ENGINE']='' got: %r''' %
             engine)
     # usual stuff
     self.top_venture = Venture(name='top_venture')
     self.top_venture.save()
     self.child_venture = Venture(name='child_venture',
                                  parent=self.top_venture)
     self.child_venture.save()
     self.role = VentureRole(name='role', venture=self.child_venture)
     self.role.save()
     self.child_role = VentureRole(
         name='child_role',
         venture=self.child_venture,
         parent=self.role,
     )
     self.child_role.save()
     to = CIOwner(
         first_name='Bufallo',
         last_name='Kudłaczek',
     )
     to.save()
     bo = CIOwner(
         first_name='Bill',
         last_name='Bąbelek',
     )
     bo.save()
     ct = ContentType.objects.get_for_model(self.top_venture)
     CIImporter().import_all_ci([ct])
     CIOwnership(owner=to,
                 ci=CI.get_by_content_object(self.child_venture),
                 type=CIOwnershipType.technical.id).save()
     CIOwnership(owner=bo,
                 ci=CI.get_by_content_object(self.child_venture),
                 type=CIOwnershipType.business.id).save()
     dm = self.add_model('DC model sample', DeviceType.data_center.id)
     self.dc = Device.create(sn='sn1', model=dm)
     self.dc.name = 'dc'
     self.dc.save()
     dm = self.add_model('Rack model sample', DeviceType.rack_server.id)
     self.rack = Device.create(
         venture=self.child_venture,
         sn='sn2',
         model=dm,
     )
     self.rack.parent = self.dc
     self.rack.name = 'rack'
     self.rack.save()
     dm = self.add_model('Blade model sample', DeviceType.blade_server.id)
     self.blade = Device.create(venture=self.child_venture,
                                venturerole=self.child_role,
                                sn='sn3',
                                model=dm)
     self.blade.name = 'blade'
     self.blade.parent = self.rack
     self.blade.save()
     self.deployment = Deployment()
     self.deployment.hostname = 'test_host2'
     self.deployment.device = self.blade
     self.deployment.mac = '10:9a:df:6f:af:01'
     self.deployment.ip = '192.168.1.1'
     self.deployment.hostname = 'test'
     self.deployment.save()