示例#1
0
 def test_render(self):
     key = Key(name=fake.word(), soft_type='INTEGER', size=1024)
     key.save(self.user)
     slot = Slot(key=key, value=fake.pyint())
     slot.save(self.user)
     resp = slot.render()
     self.assertEqual(resp, str(slot.value))
示例#2
0
 def test_get_attrs(self):
     key = Key(name=fake.word(), soft_type='INTEGER', size=1024)
     key.save(self.user)
     slot = Slot(key=key, value=fake.pyint())
     slot.save(self.user)
     attrs = slot.get_attrs()
     self.assertEqual(attrs.get('type'), 'text/plain')
示例#3
0
    def submit(self, node, user, update_row=None):
        """ Insert a record for the node.

        :param node: Node to which we're adding a slot.

        :param user: User doing the adding.

        :return: List of saved slots.
        """
        _saved = []
        row = node.row_count
        for (data_key, data_value) in self.data.items():
            if data_key not in self.ext_keys:
                continue
            doc_key = self.ext_keys[data_key]
            # t = doc_key.soft_type.fetch()
            if update_row is not None:
                slot = Slot.objects(key=doc_key, row=update_row).first()
                slot.value = data_value
                slot.save()
                continue
            slot = Slot(key=doc_key, row=row, value=data_value)
            logger.debug("INSERT: saving {}".format(slot.to_json()))
            slot.save(user)
            _saved.append(slot)
        return _saved
示例#4
0
 def test_prepare(self):
     """ Integer requires no preparation. """
     key = Key(name=fake.word(), soft_type='INTEGER', size=1024)
     key.save(self.user)
     slot = Slot(key=key, value=fake.pyint())
     slot.save(self.user)
     prepared = slot.prepare()
     self.assertEqual(int(prepared), slot.value)
示例#5
0
 def test_api_respond(self):
     """ API responds correctly. """
     client = app.test_client()
     key = Key(name=fake.word(), soft_type='INTEGER', size=1024)
     key.save(self.user)
     slot = Slot(key=key, value=fake.pyint())
     slot.save(self.user)
     resp = client.get('/slot/render/{}'.format(slot.id))
     logger.debug('test_api_response body={}'.format(resp.data))
     self.assertEqual(resp.data, str(slot.value))
     self.assertEqual(resp.status_code, 200)