Beispiel #1
0
    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'])
Beispiel #2
0
 def delete(self, id):
     jail = Jails.first(id=id)
     if not jail:
         cherrypy.session['flash'] = '404 Jail Not found'
     else:
         Jails.delete(jail)
         cherrypy.session['flash'] = "Jail successfully deleted"
     raise cherrypy.HTTPRedirect("/jails")
Beispiel #3
0
Datei: api.py Projekt: masom/Puck
    def GET(self, environment=None):
        jails = Jails.find(environment=environment)

        result = {}
        for jail in jails:
            if not result.has_key(jail.jail_type):
                result[jail.jail_type] = []
            result[jail.jail_type].append(jail.to_dict())
        return result
Beispiel #4
0
    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)
Beispiel #5
0
    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)
Beispiel #6
0
 def index(self):
     env = dict(jails=Jails.all())
     return self.render("jails/index.html", crumbs=self.crumbs[:-1], **env)