Ejemplo n.º 1
0
 def test_not_found(self):
     configs = DotDict({'templates': {'path': '/my_path'}})
     fake_open = FailOpen()
     with self.assertRaises(FileNotFoundError):
         get_resource(configs.templates.path,
                      'my_template',
                      'my_res',
                      open=fake_open,
                      isfile=lambda *a: False)
Ejemplo n.º 2
0
 def test_can_fail(self):
     configs = DotDict({'templates': {'path': '/my_path'}})
     fake_open = FailOpen()
     res = get_resource(configs.templates.path,
                        'my_template',
                        'my_res',
                        no_fail=True,
                        open=fake_open,
                        isfile=lambda *a: False)
     self.assertIsNone(res)
Ejemplo n.º 3
0
    def test_exists(self):
        configs = DotDict({'templates': {'path': '/my_path'}})
        fake_open = FakeOpen('contents')
        get_resource(configs.templates.path,
                     'my_template',
                     'my_res',
                     open=fake_open,
                     isfile=lambda *a: True)

        self.assertEqual(fake_open.path, '/my_path/my_template/my_res')
Ejemplo n.º 4
0
 def test_access_deep(self):
     dot = DotDict({'a': {'b': {'c': {'d': 1}}}})
     self.assertEqual(dot.a.b.c.d, 1)
Ejemplo n.º 5
0
 def test_wrong_type(self):
     with self.assertRaises(TypeError):
         DotDict('wrong')
         DotDict(1)
         DotDict([1, 2])
Ejemplo n.º 6
0
 def test_access(self):
     dot = DotDict({'a': 1})
     self.assertEqual(dot.a, 1)
Ejemplo n.º 7
0
 def test_empty(self):
     dot = DotDict()
     self.assertFalse(dot)
Ejemplo n.º 8
0
import json
import unittest

from mongoengine import connect

from backend.models import create_models
from backend.ui_api import ui_api
from flask import Flask
from flask_kit.config import DotDict

configs = DotDict({
    "templates": {
        "path": "/tmp"
    },
})
models = create_models()


class UITestCase(unittest.TestCase):
    def setUp(self):
        self.app = create_suite_app()

    def tearDown(self):
        models.Test.objects.delete()


class GeneralRoutesTest(UITestCase):
    def test_root(self):
        result = self.app.get('/ui-api')
        self.assertEqual(result.status_code, 200)
Ejemplo n.º 9
0
    def test_min_1(self):
        template_data = {
            'name': 'name',
            'description': 'description',
            'groups': {
                'a': {
                    'name':
                    'A',
                    'items': [
                        {
                            'type': 'text',
                            'value': 'a.1'
                        },
                        {
                            'type': 'text',
                            'value': 'a.2'
                        },
                    ]
                },
                'b': {
                    'name':
                    'B',
                    'items': [
                        {
                            'type': 'text',
                            'value': 'b.1'
                        },
                        {
                            'type': 'text',
                            'value': 'b.2'
                        },
                    ]
                },
            },
            'positive_groups': ['a'],
            'negative_groups': ['b'],
            'result_text': 'Res',
            'versions': [{
                'tasks': [
                    [['a'], ['b']],
                    [['a'], ['b']],
                ]
            }],
        }
        template = Template('id', template_data)
        template.random_version()
        questionnaire = [
            {
                'id': 'q1'
            },
            {
                'id': 'q2'
            },
            {
                'id': 'q3'
            },
            {
                'id': 'q4'
            },
        ]
        fake_open = FakeOpen(json.dumps(questionnaire))
        configs = DotDict({
            'templates': {
                'path': '/my_path'
            },
            'disclaimers': {
                'path': 'a',
                'consent_button': 'a'
            },
        })

        q1 = template.questionnaire('', '', fake_open, isfile=lambda *a: True)
        self.assertIsNotNone(q1)
        q2 = template.questionnaire('', '', fake_open, isfile=lambda *a: False)
        self.assertIsNone(q2)

        intro = template.introduction(configs,
                                      open=fake_open,
                                      isfile=lambda *a: False)
        self.assertEqual(json.loads(intro['text']), questionnaire)

        self.assertEquals(template.name, 'name')
        self.assertEquals(template.description, 'description')
        self.assertEquals(template.positive_groups, ['a'])
        self.assertEquals(template.negative_groups, ['b'])
        self.assertEquals(template.groups['a']['name'], 'A')
        self.assertEquals(template.groups['b']['name'], 'B')
        self.assertListEqual(template.versions[0]['tasks'][0], [['a'], ['b']])