コード例 #1
0
ファイル: test_api.py プロジェクト: masom/Puck
    def testGET(self):
        aj = ApiJails()
        data = aj.GET()
        self.assertEqual(data, {})

        data = aj.GET('production')
        self.assertEqual(data, {})

        envs = ['production', 'test', 'production', 'development']
        types = ['content', 'database']
        jails = {}
        i = 0
        for e in envs:
            if not e in jails:
                jails[e] = {}
            for t in types:
                if not t in jails[e]:
                    jails[e][t] = []

                jail = Jails.new(jail_type=t, environment=e, name="test_%s" % i)
                Jails.add(jail, persist=False)
                jails[e][t].append(jail.to_dict())
                i += 1

        data = aj.GET()
        self.assertEqual(data, {})

        self.maxDiff = None
        data = aj.GET('production')
        expected = {}
        self.assertEqual(data, jails['production'])
        self.assertEqual(aj.GET('test'), jails['test'])
コード例 #2
0
ファイル: jails.py プロジェクト: masom/Puck
    def add(self, **post):
        jail = Jails.new(id="", url="", name="", ip="", jail_type="", netmask="", environment="")
        if post:
            fields = ['name', 'url', 'ip', 'jail_type', 'netmask', 'environment']
            data = self._get_data('jail', fields, post)
            self._set_data(jail, data)

            if jail.validates() and Jails.add(jail):
                cherrypy.session['flash'] = "Jail successfully added"
                raise cherrypy.HTTPRedirect("/jails")
            cherrypy.session['flash'] = "The jail could not be created."

        env = dict(
                environments=Environments.all(),
                jailTypes=JailTypes.all(),
                jail=jail
        )

        return self.render("jails/add.html", crumbs=self.crumbs, **env)
コード例 #3
0
ファイル: jails.py プロジェクト: masom/Puck
    def edit(self, id, **post):
        jail = Jails.first(id=id)
        if not jail:
            cherrpy.session['flash'] = '404 Jail Not Found'
            raise cherrypy.HTTPRedirect('/jails/index')

        if post:
            fields = ['name', 'url', 'ip', 'jail_type', 'netmask', 'environment']
            data = self._get_data('jail', fields, post)
            tmp = Jails.new()
            self._set_data(tmp, data)
            if tmp.validates() and jail.update(data, fields):
                cherrypy.session['flash'] = "Jail successfully updated."
                raise cherrypy.HTTPRedirect("/jails")
            cherrypy.session['flash'] = "The jail could not be updated."

        env = dict(
                environments=Environments.all(),
                jailTypes=JailTypes.all(),
                jail=jail
        )

        return self.render("jails/edit.html", crumbs=self.crumbs, **env)