Example #1
0
    def build_app_with_bad_form(self, mock):
        """
        Generates an app with one normal form, and one form with "undefined" xmlns
        Generates submissions against both forms.
        """
        xmlns = generate_random_xmlns()
        good_form_name = "Untitled Form"
        bad_form_name = "Bad Form"

        app = Application.new_app(DOMAIN, 'Normal App')
        module = app.add_module(Module.new_module('New Module', lang='en'))
        good_form_source = self.get_xml('form_template').format(xmlns=xmlns, name=good_form_name)
        good_form = module.new_form(good_form_name, "en", good_form_source)
        bad_form_source = self.get_xml('form_template').format(xmlns="undefined", name=bad_form_name)
        bad_form = module.new_form(bad_form_name, "en", bad_form_source)
        app.save()
        build = app.make_build()
        build.save()

        good_xform = self._submit_form(xmlns, good_form_name, app._id, build._id)

        bad_xforms = []
        for i in range(2):
            bad_xform = self._submit_form("undefined", bad_form_name, app._id, build._id)
            bad_xforms.append(bad_xform)

        return good_form, bad_form, good_xform, bad_xforms
Example #2
0
    def build_app_with_recently_fixed_form(self, mock):
        """
        Generates an app with a form that:
        - had an "undefined" xmlns
        - had forms submitted with the bad xmlns
        - had xmlns changed to something real
        - had forms submitted with real xmlns
        """
        form_name = "Untitled Form"

        app = Application.new_app(DOMAIN, 'Normal App')
        module = app.add_module(Module.new_module('New Module', lang='en'))
        form_source = self.get_xml('form_template').format(
            xmlns="undefined", name=form_name
        )
        form = module.new_form(form_name, "en", form_source)
        app.save()
        bad_build = app.make_build()
        bad_build.save()

        bad_xform = self._submit_form(form.xmlns, form_name, app._id, bad_build._id)

        xmlns = generate_random_xmlns()
        form = app.get_form(form.unique_id)
        form.source = self.get_xml('form_template').format(
            xmlns=xmlns, name=form_name
        )
        form.xmlns = xmlns
        app.save()

        good_build = app.make_build()
        good_build.save()
        good_xform = self._submit_form(form.xmlns, form_name, app._id, good_build._id)

        return form, good_build, bad_build, good_xform, bad_xform
    def build_app_with_bad_form(self, mock):
        """
        Generates an app with one normal form, and one form with "undefined" xmlns
        Generates submissions against both forms.
        """
        xmlns = generate_random_xmlns()
        good_form_name = "Untitled Form"
        bad_form_name = "Bad Form"

        app = Application.new_app(DOMAIN, 'Normal App')
        module = app.add_module(Module.new_module('New Module', lang='en'))
        good_form_source = self.get_xml('form_template').decode('utf-8').format(xmlns=xmlns, name=good_form_name)
        good_form = module.new_form(good_form_name, "en", good_form_source)
        bad_form_source = self.get_xml('form_template').decode('utf-8').format(
            xmlns="undefined", name=bad_form_name)
        bad_form = module.new_form(bad_form_name, "en", bad_form_source)
        app.save()
        build = app.make_build()
        build.save()

        good_xform = self._submit_form(xmlns, good_form_name, app._id, build._id)

        bad_xforms = []
        for i in range(2):
            bad_xform = self._submit_form("undefined", bad_form_name, app._id, build._id)
            bad_xforms.append(bad_xform)

        return good_form, bad_form, good_xform, bad_xforms
    def build_app_with_recently_fixed_form(self, mock):
        """
        Generates an app with a form that:
        - had an "undefined" xmlns
        - had forms submitted with the bad xmlns
        - had xmlns changed to something real
        - had forms submitted with real xmlns
        """
        form_name = "Untitled Form"

        app = Application.new_app(DOMAIN, 'Normal App')
        module = app.add_module(Module.new_module('New Module', lang='en'))
        form_source = self.get_xml('form_template').decode('utf-8').format(
            xmlns="undefined", name=form_name
        )
        form = module.new_form(form_name, "en", form_source)
        app.save()
        bad_build = app.make_build()
        bad_build.save()

        bad_xform = self._submit_form(form.xmlns, form_name, app._id, bad_build._id)

        xmlns = generate_random_xmlns()
        form = app.get_form(form.unique_id)
        form.source = self.get_xml('form_template').decode('utf-8').format(
            xmlns=xmlns, name=form_name
        )
        form.xmlns = xmlns
        app.save()

        good_build = app.make_build()
        good_build.save()
        good_xform = self._submit_form(form.xmlns, form_name, app._id, good_build._id)

        return form, good_build, bad_build, good_xform, bad_xform
Example #5
0
    def build_normal_app(self, mock):
        xmlns = generate_random_xmlns()
        form_name = "Untitled Form"

        app = Application.new_app(DOMAIN, 'Normal App')
        module = app.add_module(Module.new_module('New Module', lang='en'))
        form_source = self.get_xml('form_template').format(xmlns=xmlns, name=form_name)
        form = module.new_form(form_name, "en", form_source)
        app.save()
        build = app.make_build()
        build.save()

        xform = self._submit_form(xmlns, form_name, app._id, build._id)
        return form, xform
    def build_normal_app(self, mock):
        xmlns = generate_random_xmlns()
        form_name = "Untitled Form"

        app = Application.new_app(DOMAIN, 'Normal App')
        module = app.add_module(Module.new_module('New Module', lang='en'))
        form_source = self.get_xml('form_template').decode('utf-8').format(xmlns=xmlns, name=form_name)
        form = module.new_form(form_name, "en", form_source)
        app.save()
        build = app.make_build()
        build.save()

        xform = self._submit_form(xmlns, form_name, app._id, build._id)
        return form, xform