예제 #1
0
파일: keys.py 프로젝트: masom/Puck
    def add(self, **post):
        key = Keys.new(name="", key="")
        if post:
            fields = ['name', 'key']
            data = self._get_data('key', fields, post)
            self._set_data(key, data)

            if key.validates() and Keys.add(key):
                cherrypy.session['flash'] = "Key successfully added"
                raise cherrypy.HTTPRedirect("/keys")
            cherrypy.session['flash'] = "Key is not a valid SSH-RSA"

        env = dict(key=key)
        return self.render("keys/add.html", crumbs=self.crumbs, **env)
예제 #2
0
파일: test_api.py 프로젝트: masom/Puck
    def testGET(self):
        ak = ApiKeys()
        keys = ak.GET()
        self.assertEqual(keys, {})

        key = Keys.new(name="test")
        Keys.add(key, persist=False)
        keys = ak.GET()
        self.assertEqual(keys, {'test': key.to_dict()})

        key = Keys.new(name='hello')
        Keys.add(key, persist=False)
        keys = ak.GET()
        expected = {
            'test': OrderedDict([
                ('name', 'test'),
                ('key', None)
            ]),
            'hello': OrderedDict([
                ('name', 'hello'),
                ('key', None)
            ])
        }
        self.assertEqual(keys, expected)