def setUp(self):
        self.procedure = factories.ProcedureFactory(author='tester',
                                                    title='test procedure')

        self.generator = generators.ProcedureGenerator(self.procedure)
        self.procedure_etree_element = self.generator.generate()
        self.attribs = self.procedure_etree_element.attrib
Exemplo n.º 2
0
    def test_attempt_push_to_mds_success_response(
        self,
        mock_post,
        mock_protocol_generator,
    ):
        mock_post.return_value = MockResponse(
            status.HTTP_200_OK,
            {},
        )
        mock_protocol_generator.return_value = self.TEST_PROCEDURE_XML

        mds_instance = factories.MDSInstanceFactory(user_id=self.user.id)
        procedure = factories.ProcedureFactory(
            version=self.TEST_PROCEDURE_VERSION)
        data = {'procedure_id': procedure.id}
        response = self.client.post(
            path=self.PUSH_TO_MDS_URL,
            data=json.dumps(data),
            content_type='application/json',
            HTTP_AUTHORIZATION=add_token_to_header(self.user, self.token),
        )

        mock_protocol_generator.assert_called_with(self.user, procedure.id)
        mock_post.assert_called_with(
            mds_instance.api_url + 'push_protocol/',
            data={
                'procedure_xml': self.TEST_PROCEDURE_XML,
                'procedure_version': self.TEST_PROCEDURE_VERSION,
            },
        )
        assert_equals(response.status_code, status.HTTP_200_OK)
        assert_equals(response.data, {
            'mds_status_code': status.HTTP_200_OK,
        })
    def test_escapes(self):
        procedure = factories.ProcedureFactory(
            title='"\''
        )
        protocol = generators.ProtocolBuilder.generate(factories.UserFactory(), procedure.id)

        assert_in('title=""\'"', protocol)
Exemplo n.º 4
0
    def test_create_page(self):
        test_procedure = factories.ProcedureFactory()

        page = factories.PageFactory(display_index=0, procedure=test_procedure)

        assert_equals(page.display_index, 0)
        assert_equals(page.procedure, test_procedure)
        assert_not_equals(page.last_modified, None)
        assert_not_equals(page.created, None)
Exemplo n.º 5
0
 def test_attempt_push_to_mds_with_no_mds_instance(self):
     procedure = factories.ProcedureFactory()
     data = {'procedure_id': procedure.id}
     response = self.client.post(
         path=self.PUSH_TO_MDS_URL,
         data=json.dumps(data),
         content_type='application/json',
         HTTP_AUTHORIZATION=add_token_to_header(self.user, self.token),
     )
     assert_equals(response.status_code, status.HTTP_400_BAD_REQUEST)
Exemplo n.º 6
0
    def test_orders_properly(self):
        procedure = factories.ProcedureFactory()

        page1 = factories.PageFactory(display_index=1, procedure=procedure)

        page2 = factories.PageFactory(display_index=0, procedure=procedure)

        pages = Page.objects.all()

        assert_equals(len(pages), 2)
        assert_equals(pages[0], page2)
        assert_equals(pages[1], page1)
 def setUp(self):
     self.client = Client()
     self.user = factories.UserFactory()
     procedure = factories.ProcedureFactory()
     self.page1 = factories.PageFactory(display_index=0,
                                        procedure=procedure)
     self.page2 = factories.PageFactory(display_index=1,
                                        procedure=procedure)
     self.page3 = factories.PageFactory(display_index=2,
                                        procedure=procedure)
     self.token = Token.objects.get(user=self.user)
     self.PARTIAL_BULK_URL = '/api/pages/partial_bulk_update'
     grant_permissions()
    def setUp(self):
        self.procedure = factories.ProcedureFactory(
            author='TestUser',
            title='Burns"\''
        )

        for i in range(4):
            page = factories.PageFactory(
                procedure=self.procedure
            )

            factories.ElementFactory(
                page=page
            )

        elements = Element.objects.all()

        factories.ShowIfFactory(
            page=page,
            conditions=json.dumps({
                'node_type': 'NOT',
                'children': [
                    {
                        'node_type': 'AND',
                        'children': [
                            {
                                'criteria_element': elements[0].pk,
                                'node_type': 'EQUALS',
                                'value': 'foo'
                            },
                            {
                                'criteria_element': elements[1].pk,
                                'node_type': 'LESS',
                                'value': 'bar'
                            },
                            {
                                'node_type': 'AND',
                                'children': [
                                    {
                                        'criteria_element': elements[2].pk,
                                        'node_type': 'GREATER',
                                        'value': 'bar'
                                    }
                                ]
                            }
                        ]
                    }
                ]
            }))

        self.procedure.save()
Exemplo n.º 9
0
    def test_procedure_comes_with_pages(self):
        procedure = factories.ProcedureFactory(owner=self.user)
        factories.PageFactory(procedure=procedure)
        flags = {'only_return_id': 'false'}

        response = self.client.get(path=self.procedure_url,
                                   data=flags,
                                   content_type='application/json',
                                   HTTP_AUTHORIZATION=add_token_to_header(
                                       self.user, self.token))

        assert_equals(response.status_code, status.HTTP_200_OK)
        body = json.loads(response.content)
        pages = body[0]['pages']
        assert_equals(len(pages), 1)
        assert_true('display_index' in pages[0])
    def test_error_if_blank_author(self):
        procedure = factories.ProcedureFactory(author='')

        generators.ProcedureGenerator(procedure).generate()
    def test_error_if_no_author(self):
        procedure = factories.ProcedureFactory()
        procedure.author = None

        generators.ProcedureGenerator(procedure).generate()
    def test_error_if_blank_title(self):
        procedure = factories.ProcedureFactory(title='')

        generators.ProcedureGenerator(procedure).generate()
    def test_error_if_no_title(self):
        procedure = factories.ProcedureFactory()
        procedure.title = None

        generators.ProcedureGenerator(procedure).generate()
Exemplo n.º 14
0
 def test_display_index_negative(self):
     Page.objects.create(display_index=-1,
                         procedure=factories.ProcedureFactory())
Exemplo n.º 15
0
 def test_display_index_none(self):
     Page.objects.create(display_index=None,
                         procedure=factories.ProcedureFactory())