def test_service_load(self):
        Node = self.load_template('node')
        srv = tcol.instantiate_service(Node, 'testnode')

        # unload service from memory
        scol.drop_all()

        loaded = scol.load(Node, _serialize_service(srv))
        self.assertEqual(srv.name, loaded.name,
                         "name of the loaded service should be %s" % srv.name)
        self.assertEqual(
            srv.template_name, loaded.template_name,
            "template_name of the loaded service should be %s" %
            srv.template_name)
        self.assertEqual(srv.guid, loaded.guid,
                         "guid of the loaded service should be %s" % srv.guid)
        self.assertEqual(
            srv.version, loaded.version,
            "version of the loaded service should be %s" % srv.version)
        self.assertIsNotNone(srv.data,
                             "loaded service data should not be None")
        self.assertIsNotNone(srv.state,
                             "loaded service state should not be None")
        self.assertIsNotNone(srv.task_list,
                             "loaded service task_list should not be None")
Example #2
0
 def setUp(self):
     config.data_repo = config.DataRepo(
         tempfile.mkdtemp(prefix='0robottest'))
     tcol.add_repo("https://github.com/threefoldtech/0-robot",
                   directory='tests/fixtures/templates')
     scol.drop_all()
     storage.init(config)
 def tearDown(self):
     self.robot.stop(timeout=0)
     if os.path.exists(config.data_repo.path):
         shutil.rmtree(config.data_repo.path)
     # make sure we don't have any service loaded
     scol.drop_all()
     j.clients.zrobot.delete('test')
Example #4
0
    def setUp(self):
        self.previous_zrobot_cfgs = {}
        for instance in j.clients.zrobot.list():
            self.previous_zrobot_cfgs[instance] = j.clients.zrobot.get(instance)
        j.clients.zrobot.reset()

        self.api = ZeroRobotAPI()
        self.ps = []
        self.instances = []

        # start 2 robots
        for i in range(2):
            p, addr = self._start_robot(i, with_tmpl=True)
            self.ps.append(p)
            instance = "robot%d" % int(i)
            cl = j.clients.zrobot.get(instance, data={'url': addr}, create=True)
            cl.config.save()
            self.instances.append(instance)

        # give time to the robot to starts TODO: find better then sleep
        time.sleep(1)

        # make sure we don't have any service loaded
        scol.drop_all()
        # make sure we don't have any template loaded
        tcol._templates = {}
Example #5
0
 def setUp(self):
     config.data_repo = config.DataRepo(tempfile.mkdtemp(prefix='0robottest'))
     scol.drop_all()
     tmpl = self._load_template('node')
     s = tmpl(name='test')
     self.tl = TaskList(s)
     # ensure we have a clean start
     self.tl._done.drop()
Example #6
0
 def __enter__(self):
     j.clients.zrobot.get('test', {'url': 'http://localhost:6600'})
     self.cl = ZeroRobotManager('test')
     self.robot = Robot()
     self.robot.set_data_repo(j.sal.fs.getTmpDirPath())
     self.robot.add_template_repo('http://github.com/zero-os/0-robot', directory='tests/fixtures/templates')
     if os.path.exists(config.data_repo.path):
         shutil.rmtree(config.data_repo.path)
     # make sure we don't have any service loaded
     scol.drop_all()
     self.robot.start(listen='127.0.0.1:6600', block=False, testing=True, god=self.god)
     return self.cl
Example #7
0
    def tearDown(self):
        for p in self.ps:
            p.terminate()
            p.join()

        for instance in self.instances:
            j.clients.zrobot.delete(instance)
        # TODO: cleanup data_dir of each robots

        # make sure we don't have any service loaded
        scol.drop_all()
        # make sure we don't have any template loaded
        tcol._templates = {}

        # restore zrobot config
        for instance, cl in self.previous_zrobot_cfgs.items():
            cl = j.clients.zrobot.get(instance, data=cl.config.data, create=True)
            cl.config.save()
 def setUp(self):
     config.data_repo = config.DataRepo(
         tempfile.mkdtemp(prefix='0robottest'))
     storage.init(config)
     scol.drop_all()
 def tearDown(self):
     scol.drop_all()
Example #10
0
 def setUp(self):
     tcol.add_repo("https://github.com/zero-os/0-robot",
                   directory='tests/fixtures/templates')
     scol.drop_all()