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 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)