Example #1
0
    def test_GetKeys(self):
        p = Puck(transport=MockTransport)
        keys = p.getKeys()
        self.assertTrue(isinstance(keys, dict))
        self.assertGreater(len(keys.keys()), 0)

        for k in keys:
            self.assertEqual(keys[k].keys().sort(), getKey().keys().sort(), "getKeys dict keys are not the same as expected.")
Example #2
0
    def test_GetEnvironments(self):
        p = Puck(transport=MockTransport)
        env = p.getEnvironments()
        self.assertIsInstance(env, list)
        self.assertIsInstance(env[0], dict)
        self.assertGreater(len(env[0].keys()), 0)
        attrs = ['code', 'id', 'name']

        [[self.assertTrue(e.has_key(a)) for a in attrs] for e in env]
Example #3
0
    def test_GetJails(self):
        p = Puck(transport=MockTransport)
        jails = p.getJails(None)
        self.assertTrue(isinstance(jails, dict), "getJails() did not return a dictionary.")
        self.assertGreater(len(jails.keys()), 0)

        for k in jails:
            self.assertGreater(len(jails[k]), 0, "No jails under `%s`" % k)
            for i in jails[k]:
                self.assertEqual(jails[k][i].keys().sort(), getJail().keys().sort(), "getJails dict keys are not the same as expected.")
Example #4
0
    def test_loadRegistration(self):
        p = Puck(transport=MockTransport)
        p._registration_file = '/tmp/non-existent-reg'
        self.assertFalse(p._loadRegistration())

        with open("/tmp/reg-test", 'w') as f:
            f.write('test')

        p._registration_file = '/tmp/reg-test'
        reg = p._loadRegistration()
        self.assertIsInstance(reg, dict)
        attrs = [
            'status', 'instance_id', 'name', 'image_id', 'ip', 'config',
            'instance_type_id', 'id', 'user'
        ]
        for a in attrs:
            self.assertTrue(reg.has_key(a))
Example #5
0
 def testGetVM(self):
     p = Puck(transport=MockTransport)
     self.assertTrue(isinstance(p.getVM(), VM))
Example #6
0
 def test_GetYumRepo(self):
     p = Puck(transport=MockTransport)
     repo = p.getYumRepo('development')
     self.assertTrue(isinstance(repo, dict))
     self.assertTrue(repo.has_key('data'))
     self.assertGreater(len(repo['data']), 0, "Empty repo data!")
Example #7
0
    args = parser.parse_args()

    (pid, ezjl_socket) = start_jail_launcher()

    if args.daemonize:
        daemonizer = cherrypy.process.plugins.Daemonizer(cherrypy.engine)
        daemonizer.subscribe()


    cherrypy.config.update(args.config)

    lookup = TemplateLookup(
        directories=[os.path.join(args.templatedir, reldir) for reldir in ["html"]]
    )

    puck = Puck()
    puck.getVM().jails.setSocket(ezjl_socket)

    root = RootController(lookup, puck)
    root.configure = ConfigurationController(lookup, puck)
    root.setup = SetupController(lookup, puck)

    cherrypy.engine.vmsetup = SetupPlugin(puck, cherrypy.engine)
    cherrypy.engine.vmsetup.subscribe()

    cherrypy.process.plugins.SignalHandler.handlers['SIGINT'] = cherrypy.engine.exit
    cherrypy.engine.signal_handler.subscribe()

    if hasattr(cherrypy.engine, "console_control_handler"):
        cherrypy.engine.console_control_handler.subscribe()