def test_add_get_service(self):
        service = FakeService('1234567890', 's1')
        scol.add(service)

        self.assertEqual(service, scol.get_by_guid('1234567890'))
        self.assertEqual(service, scol.get_by_name('s1'))
        self.assertEqual(service, scol.find(name='s1')[0])

        with self.assertRaises(scol.ServiceNotFoundError):
            scol.get_by_name("nan")
    def test_list_services(self):
        services = scol.list_services()
        self.assertEqual(len(services), 0, "services count should be 0")

        s1 = FakeService('1111', 's1')
        s2 = FakeService('2222', 's2')
        s3 = FakeService('3333', 's3')
        scol.add(s1)
        scol.add(s2)

        services = scol.list_services()
        self.assertEqual(len(services), 2, "services count should be 2")
        self.assertIn(s1, services, 'service s1 should be in the returned service list')
        self.assertIn(s2, services, 'service s2 should be in the returned service list')
        self.assertNotIn(s3, services, 'service s3 should not be in the returned service list')
Пример #3
0
def instantiate_service(template, name=None, data=None):
    if isinstance(template, str):
        template = get(template)

    existing = scol.find(template_uid=str(template.template_uid), name=name)
    if name and len(existing) > 0:
        raise ServiceConflictError(message="a service with name=%s already exist" % name, service=existing[0])

    service = template(data=data, name=name)
    try:
        service.validate()
    except Exception as err:
        service.delete()
        raise ValidationError("fail to create service %s %s" % (name, template.template_uid), err)

    service.save()

    scol.add(service)
    return service
    def test_service_overwrite(self):
        s1 = FakeService('1111', 's1')
        s2 = FakeService('1111', 's2')
        s3 = FakeService('2222', 's1')
        scol.add(s1)

        with self.assertRaises(scol.ServiceConflictError, msg='should raise exception is try to overwrite service'):
            scol.add(s2)
            scol.add(s3)
    def test_search_services(self):
        s1 = FakeService('1111', 's1')
        s2 = FakeService('2222', 's2')
        s3 = FakeService2('3333', 's3')
        scol.add(s1)
        scol.add(s2)
        scol.add(s3)

        results = scol.find(template_uid='github.com/threefoldtech/0-robot/fakeservice/0.0.1')
        self.assertEqual(len(results), 2)
        guids = [s1.guid, s2.guid]
        for s in results:
            self.assertIn(s.guid, guids)
 def test_set_service_public(self):
     s1 = FakeService('111', 's1')
     scol.add(s1)
     assert scol.is_service_public(s1.guid) is False
     scol.set_service_public(s1.guid)
     assert scol.is_service_public(s1.guid)