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'])
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")
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
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)
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)
def index(self): env = dict(jails=Jails.all()) return self.render("jails/index.html", crumbs=self.crumbs[:-1], **env)