def METHOD_NAME(self, mock):
    add_build(version='2.7.0', build_number=20655)
    domain = 'form-versioning-test'
    # set up inital app
    factory = AppFactory(domain, 'Foo')
    m0, f0 = factory.new_basic_module("bar", "bar")
    f0.source = get_simple_form(xmlns='xmlns-0.0')
    f1 = factory.new_form(m0)
    f1.source = get_simple_form(xmlns='xmlns-1')
    app = factory.app
    app.build_spec = BuildSpec.from_string('2.7.0/latest')
    app.save()
    # make a build
    build1 = app.make_build()
    build1.save()
    # modify first form
    app.get_module(0).get_form(0).source = get_simple_form(xmlns='xmlns-0.1')
    app.save()
    # make second build
    build2 = app.make_build()
    build2.save()
    # modify first form
    app.get_module(0).get_form(0).source = get_simple_form(xmlns='xmlns-0.2')
    app.save()
    app.save()
    app.save()
    # make third build
    build3 = app.make_build()
    build3.save()
    self.assertEqual(self.get_form_versions(build1), [1, 1])
    self.assertEqual(self.get_form_versions(build2), [2, 1])
    self.assertEqual(self.get_form_versions(build3), [5, 1])
    # revert to build2
    app = app.make_reversion_to_copy(build2)
    app.save()
    # make reverted build
    build4 = app.make_build()
    build4.save()
    self.assertEqual(self.get_form_versions(build4), [6, 1])
    # copy app
    xxx_app = import_app(app.export_json(dump_json=False), domain)
    # make build of copy
    xxx_build1 = xxx_app.make_build()
    xxx_build1.save()
    # modify first form of copy app
    xxx_app.get_module(0).get_form(0).source = get_simple_form(xmlns='xmlns-0.xxx.0')
    xxx_app.save()
    # make second build of copy
    xxx_build2 = xxx_app.make_build()
    xxx_build2.save()
    self.assertEqual(self.get_form_versions(xxx_build1), [1, 1])
    self.assertEqual(self.get_form_versions(xxx_build2), [2, 1])