Beispiel #1
0
    def setUp(self):
        self.version_fd, self.version_file = mkstemp()
        cache.reset()
        cache.make_copies = True
        app.config["SECRET_KEY"] = 'abc123'
        app.config['DEBUG'] = True
        app.config["WTF_CSRF_ENABLED"] = False
        app.config['WHITELISTED_DOMAINS'] = ['good.com']
        app.config["VERSION_FILE"] = self.version_file
        with open(self.version_file, "w+") as f:
            f.write("""
{
  "source":"https://github.com/mozilla/balrog",
  "version":"1.0",
  "commit":"abcdef123456"
}
""")
        dbo.setDb('sqlite:///:memory:')
        dbo.setDomainWhitelist(['good.com'])
        dbo.create()
        dbo.permissions.t.insert().execute(permission='admin', username='******', data_version=1)
        dbo.permissions.t.insert().execute(permission='/users/:id/permissions/:permission', username='******', data_version=1)
        dbo.permissions.t.insert().execute(permission='/releases/:name', username='******', options=json.dumps(dict(product=['fake'])), data_version=1)
        dbo.permissions.t.insert().execute(permission='/releases/:name/read_only', username='******', options=json.dumps(dict(method='PUT')), data_version=1)
        dbo.permissions.t.insert().execute(permission='/rules/:id', username='******', options=json.dumps(dict(product=['fake'])), data_version=1)
        dbo.releases.t.insert().execute(
            name='a', product='a', data=json.dumps(dict(name='a', hashFunction="sha512", schema_version=1)), data_version=1)
        dbo.releases.t.insert().execute(
            name='ab', product='a', data=json.dumps(dict(name='ab', hashFunction="sha512", schema_version=1)), data_version=1)
        dbo.releases.t.insert().execute(
            name='b', product='b', data=json.dumps(dict(name='b', hashFunction="sha512", schema_version=1)), data_version=1)
        dbo.releases.t.insert().execute(
            name='c', product='c', data=json.dumps(dict(name='c', hashFunction="sha512", schema_version=1)), data_version=1)
        dbo.releases.t.insert().execute(name='d', product='d', data_version=1, data="""
{
    "name": "d",
    "schema_version": 1,
    "hashFunction": "sha512",
    "platforms": {
        "p": {
            "locales": {
                "d": {
                    "complete": {
                        "filesize": 1234,
                        "from": "*",
                        "hashValue": "abc"
                    }
                }
            }
        }
    }
}
""")
        dbo.rules.t.insert().execute(id=1, priority=100, version='3.5', buildTarget='d', backgroundRate=100, mapping='c', update_type='minor', data_version=1)
        dbo.rules.t.insert().execute(id=2, alias="frodo", priority=100, version='3.3', buildTarget='d', backgroundRate=100, mapping='b', update_type='minor',
                                     data_version=1)
        dbo.rules.t.insert().execute(id=3, priority=100, version='3.5', buildTarget='a', backgroundRate=100, mapping='a', update_type='minor', data_version=1)
        dbo.rules.t.insert().execute(id=4, product='fake', priority=80, buildTarget='d', backgroundRate=100, mapping='a', update_type='minor', data_version=1)
        dbo.rules.t.insert().execute(id=5, priority=80, buildTarget='d', version='3.3', backgroundRate=0, mapping='c', update_type='minor', data_version=1)
        self.client = app.test_client()
Beispiel #2
0
    def setUp(self):
        app.config['SECRET_KEY'] = 'abc123'
        app.config['DEBUG'] = True
        app.config['CSRF_ENABLED'] = False
        db.setDburi('sqlite:///:memory:')
        db.create()
        db.permissions.t.insert().execute(permission='admin', username='******', data_version=1)
        db.permissions.t.insert().execute(permission='/users/:id/permissions/:permission', username='******', data_version=1)
        db.permissions.t.insert().execute(permission='/releases/:name', username='******', options=json.dumps(dict(product='fake')), data_version=1)
        db.releases.t.insert().execute(name='a', product='a', version='a', data=json.dumps(dict(name='a')), data_version=1)
        db.releases.t.insert().execute(name='ab', product='a', version='a', data=json.dumps(dict(name='ab')), data_version=1)
        db.releases.t.insert().execute(name='b', product='b', version='b', data=json.dumps(dict(name='b')), data_version=1)
        db.releases.t.insert().execute(name='c', product='c', version='c', data=json.dumps(dict(name='c')), data_version=1)
        db.releases.t.insert().execute(name='d', product='d', version='d', data_version=1, data="""
{
    "name": "d",
    "platforms": {
        "p": {
            "locales": {
                "d": {
                    "complete": {
                        "filesize": 1234
                    }
                }
            }
        }
    }
}
""")
        db.rules.t.insert().execute(id=1, priority=100, version='3.5', buildTarget='d', throttle=100, mapping='c', update_type='minor', data_version=1)
        db.rules.t.insert().execute(id=2, priority=100, version='3.3', buildTarget='d', throttle=100, mapping='b', update_type='minor', data_version=1)
        db.rules.t.insert().execute(id=3, priority=100, version='3.5', buildTarget='a', throttle=100, mapping='a', update_type='minor', data_version=1)
        db.rules.t.insert().execute(id=4, priority=80, buildTarget='d', throttle=100, mapping='a', update_type='minor', data_version=1)
        db.rules.t.insert().execute(id=5, priority=80, buildTarget='d', version='3.3', throttle=0, mapping='c', update_type='minor', data_version=1)
        self.client = app.test_client()
Beispiel #3
0
    def setUp(self):
        self.cef_fd, self.cef_file = mkstemp()
        app.config["SECRET_KEY"] = 'abc123'
        app.config['DEBUG'] = True
        app.config["WTF_CSRF_ENABLED"] = False
        app.config['WHITELISTED_DOMAINS'] = ['good.com']
        auslib.log.cef_config = auslib.log.get_cef_config(self.cef_file)
        dbo.setDb('sqlite:///:memory:')
        dbo.setDomainWhitelist(['good.com'])
        dbo.create()
        dbo.permissions.t.insert().execute(permission='admin', username='******', data_version=1)
        # TODO: switch these to /api when old ui dies.
        dbo.permissions.t.insert().execute(permission='/users/:id/permissions/:permission', username='******', data_version=1)
        dbo.permissions.t.insert().execute(permission='/releases/:name', username='******', options=json.dumps(dict(product=['fake'])), data_version=1)
        dbo.permissions.t.insert().execute(permission='/rules/:id', username='******', options=json.dumps(dict(product=['fake'])), data_version=1)
        dbo.releases.t.insert().execute(name='a', product='a', version='a', data=json.dumps(dict(name='a', hashFunction="sha512", schema_version=1)), data_version=1)
        dbo.releases.t.insert().execute(name='ab', product='a', version='a', data=json.dumps(dict(name='ab', hashFunction="sha512", schema_version=1)), data_version=1)
        dbo.releases.t.insert().execute(name='b', product='b', version='b', data=json.dumps(dict(name='b', hashFunction="sha512", schema_version=1)), data_version=1)
        dbo.releases.t.insert().execute(name='c', product='c', version='c', data=json.dumps(dict(name='c', hashFunction="sha512", schema_version=1)), data_version=1)
        dbo.releases.t.insert().execute(name='d', product='d', version='d', data_version=1, data="""
{
    "name": "d",
    "schema_version": 1,
    "hashFunction": "sha512",
    "platforms": {
        "p": {
            "locales": {
                "d": {
                    "complete": {
                        "filesize": "1234"
                    }
                }
            }
        }
    }
}
""")
        dbo.rules.t.insert().execute(id=1, priority=100, version='3.5', buildTarget='d', backgroundRate=100, mapping='c', update_type='minor', data_version=1)
        dbo.rules.t.insert().execute(id=2, priority=100, version='3.3', buildTarget='d', backgroundRate=100, mapping='b', update_type='minor', data_version=1)
        dbo.rules.t.insert().execute(id=3, priority=100, version='3.5', buildTarget='a', backgroundRate=100, mapping='a', update_type='minor', data_version=1)
        dbo.rules.t.insert().execute(id=4, product='fake', priority=80, buildTarget='d', backgroundRate=100, mapping='a', update_type='minor', data_version=1)
        dbo.rules.t.insert().execute(id=5, priority=80, buildTarget='d', version='3.3', backgroundRate=0, mapping='c', update_type='minor', data_version=1)
        self.client = app.test_client()
Beispiel #4
0
    def setUp(self):
        self.version_fd, self.version_file = mkstemp()
        cache.reset()
        cache.make_copies = True
        app.config["SECRET_KEY"] = "abc123"
        app.config["DEBUG"] = True
        app.config["WTF_CSRF_ENABLED"] = False
        app.config["WHITELISTED_DOMAINS"] = {"good.com": ("a", "b", "c", "d")}
        app.config["VERSION_FILE"] = self.version_file
        with open(self.version_file, "w+") as f:
            f.write(
                """
{
  "source":"https://github.com/mozilla/balrog",
  "version":"1.0",
  "commit":"abcdef123456"
}
"""
            )
        dbo.setDb("sqlite:///:memory:")
        dbo.setDomainWhitelist({"good.com": ("a", "b", "c", "d")})
        dbo.create()
        dbo.permissions.t.insert().execute(permission="admin", username="******", data_version=1)
        dbo.permissions.t.insert().execute(permission="permission", username="******", data_version=1)
        dbo.permissions.t.insert().execute(
            permission="release",
            username="******",
            options=json.dumps(dict(products=["fake", "b"], actions=["create", "modify"])),
            data_version=1,
        )
        dbo.permissions.t.insert().execute(
            permission="release_read_only", username="******", options=json.dumps(dict(actions=["set"])), data_version=1
        )
        dbo.permissions.t.insert().execute(
            permission="rule",
            username="******",
            options=json.dumps(dict(actions=["modify"], products=["fake"])),
            data_version=1,
        )
        dbo.permissions.t.insert().execute(
            permission="build",
            username="******",
            options=json.dumps(dict(actions=["modify"], products=["a"])),
            data_version=1,
        )
        dbo.permissions.t.insert().execute(
            permission="scheduled_change", username="******", options=json.dumps(dict(actions=["enact"])), data_version=1
        )
        dbo.permissions.t.insert().execute(
            permission="release_locale",
            username="******",
            options=json.dumps(dict(actions=["modify"], products=["a"])),
            data_version=1,
        )
        dbo.permissions.t.insert().execute(
            permission="admin", username="******", options=json.dumps(dict(products=["a"])), data_version=1
        )
        dbo.permissions.user_roles.t.insert().execute(username="******", role="releng", data_version=1)
        dbo.permissions.user_roles.t.insert().execute(username="******", role="relman", data_version=1)
        dbo.releases.t.insert().execute(
            name="a",
            product="a",
            data=json.dumps(dict(name="a", hashFunction="sha512", schema_version=1)),
            data_version=1,
        )
        dbo.releases.t.insert().execute(
            name="ab",
            product="a",
            data=json.dumps(dict(name="ab", hashFunction="sha512", schema_version=1)),
            data_version=1,
        )
        dbo.releases.t.insert().execute(
            name="b",
            product="b",
            data=json.dumps(dict(name="b", hashFunction="sha512", schema_version=1)),
            data_version=1,
        )
        dbo.releases.t.insert().execute(
            name="c",
            product="c",
            data=json.dumps(dict(name="c", hashFunction="sha512", schema_version=1)),
            data_version=1,
        )
        dbo.releases.t.insert().execute(
            name="d",
            product="d",
            data_version=1,
            data="""
{
    "name": "d",
    "schema_version": 1,
    "hashFunction": "sha512",
    "platforms": {
        "p": {
            "locales": {
                "d": {
                    "complete": {
                        "filesize": 1234,
                        "from": "*",
                        "hashValue": "abc"
                    }
                }
            }
        }
    }
}
""",
        )
        dbo.rules.t.insert().execute(
            rule_id=1,
            priority=100,
            version="3.5",
            buildTarget="d",
            backgroundRate=100,
            mapping="c",
            update_type="minor",
            data_version=1,
        )
        dbo.rules.t.insert().execute(
            rule_id=2,
            alias="frodo",
            priority=100,
            version="3.3",
            buildTarget="d",
            backgroundRate=100,
            mapping="b",
            update_type="minor",
            data_version=1,
        )
        dbo.rules.t.insert().execute(
            rule_id=3,
            product="a",
            priority=100,
            version="3.5",
            buildTarget="a",
            backgroundRate=100,
            mapping="a",
            update_type="minor",
            data_version=1,
        )
        dbo.rules.t.insert().execute(
            rule_id=4,
            product="fake",
            priority=80,
            buildTarget="d",
            backgroundRate=100,
            mapping="a",
            update_type="minor",
            data_version=1,
        )
        dbo.rules.t.insert().execute(
            rule_id=5,
            priority=80,
            buildTarget="d",
            version="3.3",
            backgroundRate=0,
            mapping="c",
            update_type="minor",
            data_version=1,
        )
        self.client = app.test_client()
Beispiel #5
0
    def setUp(self):
        self.version_fd, self.version_file = mkstemp()
        cache.reset()
        cache.make_copies = True
        app.config["SECRET_KEY"] = 'abc123'
        app.config['DEBUG'] = True
        app.config["WTF_CSRF_ENABLED"] = False
        app.config['WHITELISTED_DOMAINS'] = {'good.com': ('a', 'b', 'c', 'd')}
        app.config["VERSION_FILE"] = self.version_file
        with open(self.version_file, "w+") as f:
            f.write("""
{
  "source":"https://github.com/mozilla/balrog",
  "version":"1.0",
  "commit":"abcdef123456"
}
""")
        dbo.setDb('sqlite:///:memory:')
        dbo.setDomainWhitelist({'good.com': ('a', 'b', 'c', 'd')})
        dbo.create()
        dbo.permissions.t.insert().execute(permission='admin',
                                           username='******',
                                           data_version=1)
        dbo.permissions.t.insert().execute(permission='permission',
                                           username='******',
                                           data_version=1)
        dbo.permissions.t.insert().execute(permission='release',
                                           username='******',
                                           options=dict(
                                               products=['fake', "a", 'b'],
                                               actions=["create", "modify"]),
                                           data_version=1)
        dbo.permissions.t.insert().execute(permission='release_read_only',
                                           username='******',
                                           options=dict(actions=["set"],
                                                        products=["a", "b"]),
                                           data_version=1)
        dbo.permissions.t.insert().execute(permission='rule',
                                           username='******',
                                           options=dict(actions=["modify"],
                                                        products=['a', "b"]),
                                           data_version=1)
        dbo.permissions.t.insert().execute(permission='build',
                                           username='******',
                                           options=dict(actions=["modify"],
                                                        products=['a']),
                                           data_version=1)
        dbo.permissions.t.insert().execute(permission="scheduled_change",
                                           username="******",
                                           options=dict(actions=["enact"]),
                                           data_version=1)
        dbo.permissions.t.insert().execute(permission='release_locale',
                                           username='******',
                                           options=dict(actions=["modify"],
                                                        products=['a']),
                                           data_version=1)
        dbo.permissions.t.insert().execute(permission='admin',
                                           username='******',
                                           options=dict(products=['a']),
                                           data_version=1)
        dbo.permissions.user_roles.t.insert().execute(username="******",
                                                      role="releng",
                                                      data_version=1)
        dbo.permissions.user_roles.t.insert().execute(username="******",
                                                      role="qa",
                                                      data_version=1)
        dbo.permissions.user_roles.t.insert().execute(username="******",
                                                      role="relman",
                                                      data_version=1)
        dbo.permissions.user_roles.t.insert().execute(username="******",
                                                      role="releng",
                                                      data_version=1)
        dbo.permissions.user_roles.t.insert().execute(username="******",
                                                      role="relman",
                                                      data_version=1)
        dbo.productRequiredSignoffs.t.insert().execute(product="fake",
                                                       channel="a",
                                                       role="releng",
                                                       signoffs_required=1,
                                                       data_version=1)
        dbo.productRequiredSignoffs.t.insert().execute(product="fake",
                                                       channel="e",
                                                       role="releng",
                                                       signoffs_required=1,
                                                       data_version=1)
        dbo.productRequiredSignoffs.t.insert().execute(product="fake",
                                                       channel="j",
                                                       role="releng",
                                                       signoffs_required=1,
                                                       data_version=1)
        dbo.productRequiredSignoffs.t.insert().execute(product="fake",
                                                       channel="k",
                                                       role="releng",
                                                       signoffs_required=1,
                                                       data_version=2)
        dbo.productRequiredSignoffs.history.t.insert().execute(
            change_id=1,
            changed_by="bill",
            timestamp=10,
            product="fake",
            channel="k",
            role="releng")
        dbo.productRequiredSignoffs.history.t.insert().execute(
            change_id=2,
            changed_by="bill",
            timestamp=11,
            product="fake",
            channel="k",
            role="releng",
            signoffs_required=2,
            data_version=1)
        dbo.productRequiredSignoffs.history.t.insert().execute(
            change_id=3,
            changed_by="bill",
            timestamp=25,
            product="fake",
            channel="k",
            role="releng",
            signoffs_required=1,
            data_version=2)
        dbo.permissionsRequiredSignoffs.t.insert().execute(product="fake",
                                                           role="releng",
                                                           signoffs_required=1,
                                                           data_version=1)
        dbo.permissionsRequiredSignoffs.t.insert().execute(product="bar",
                                                           role="releng",
                                                           signoffs_required=1,
                                                           data_version=1)
        dbo.permissionsRequiredSignoffs.t.insert().execute(product="blah",
                                                           role="releng",
                                                           signoffs_required=1,
                                                           data_version=1)
        dbo.permissionsRequiredSignoffs.t.insert().execute(product="doop",
                                                           role="releng",
                                                           signoffs_required=1,
                                                           data_version=2)
        dbo.permissionsRequiredSignoffs.t.insert().execute(product="superfake",
                                                           role="relman",
                                                           signoffs_required=1,
                                                           data_version=1)
        dbo.permissionsRequiredSignoffs.history.t.insert().execute(
            change_id=1,
            changed_by="bill",
            timestamp=10,
            product="doop",
            role="releng")
        dbo.permissionsRequiredSignoffs.history.t.insert().execute(
            change_id=2,
            changed_by="bill",
            timestamp=11,
            product="doop",
            role="releng",
            signoffs_required=2,
            data_version=1)
        dbo.permissionsRequiredSignoffs.history.t.insert().execute(
            change_id=3,
            changed_by="bill",
            timestamp=25,
            product="doop",
            role="releng",
            signoffs_required=1,
            data_version=2)
        dbo.releases.t.insert().execute(name='a',
                                        product='a',
                                        data=createBlob(
                                            dict(name='a',
                                                 hashFunction="sha512",
                                                 schema_version=1)),
                                        data_version=1)
        dbo.releases.t.insert().execute(name='ab',
                                        product='a',
                                        data=createBlob(
                                            dict(name='ab',
                                                 hashFunction="sha512",
                                                 schema_version=1)),
                                        data_version=1)
        dbo.releases.t.insert().execute(name='b',
                                        product='b',
                                        data=createBlob(
                                            dict(name='b',
                                                 hashFunction="sha512",
                                                 schema_version=1)),
                                        data_version=1)
        dbo.releases.t.insert().execute(name='c',
                                        product='c',
                                        data=createBlob(
                                            dict(name='c',
                                                 hashFunction="sha512",
                                                 schema_version=1)),
                                        data_version=1)
        dbo.releases.t.insert().execute(name='d',
                                        product='d',
                                        data_version=1,
                                        data=createBlob("""
{
    "name": "d",
    "schema_version": 1,
    "hashFunction": "sha512",
    "platforms": {
        "p": {
            "locales": {
                "d": {
                    "complete": {
                        "filesize": 1234,
                        "from": "*",
                        "hashValue": "abc"
                    }
                }
            }
        }
    }
}
"""))
        dbo.rules.t.insert().execute(rule_id=1,
                                     priority=100,
                                     version='3.5',
                                     buildTarget='d',
                                     backgroundRate=100,
                                     mapping='c',
                                     update_type='minor',
                                     product="a",
                                     channel="a",
                                     data_version=1)
        dbo.rules.t.insert().execute(rule_id=2,
                                     alias="frodo",
                                     priority=100,
                                     version='3.3',
                                     buildTarget='d',
                                     backgroundRate=100,
                                     mapping='b',
                                     update_type='minor',
                                     product="a",
                                     channel="a",
                                     data_version=1)
        dbo.rules.t.insert().execute(rule_id=3,
                                     product='a',
                                     priority=100,
                                     version='3.5',
                                     buildTarget='a',
                                     backgroundRate=100,
                                     mapping='a',
                                     update_type='minor',
                                     channel="a",
                                     data_version=1)
        dbo.rules.t.insert().execute(rule_id=4,
                                     product='fake',
                                     priority=80,
                                     buildTarget='d',
                                     backgroundRate=100,
                                     mapping='a',
                                     update_type='minor',
                                     channel="a",
                                     data_version=1)
        dbo.rules.t.insert().execute(rule_id=5,
                                     priority=80,
                                     buildTarget='d',
                                     version='3.3',
                                     backgroundRate=0,
                                     mapping='c',
                                     update_type='minor',
                                     product="a",
                                     channel="a",
                                     data_version=1)
        self.client = app.test_client()
Beispiel #6
0
    def setUp(self):
        self.cef_fd, self.cef_file = mkstemp()
        app.config["SECRET_KEY"] = 'abc123'
        app.config['DEBUG'] = True
        app.config["WTF_CSRF_ENABLED"] = False
        app.config['WHITELISTED_DOMAINS'] = ['good.com']
        auslib.log.cef_config = auslib.log.get_cef_config(self.cef_file)
        dbo.setDb('sqlite:///:memory:')
        dbo.setDomainWhitelist(['good.com'])
        dbo.create()
        dbo.permissions.t.insert().execute(permission='admin',
                                           username='******',
                                           data_version=1)
        dbo.permissions.t.insert().execute(
            permission='/users/:id/permissions/:permission',
            username='******',
            data_version=1)
        dbo.permissions.t.insert().execute(permission='/releases/:name',
                                           username='******',
                                           options=json.dumps(
                                               dict(product=['fake'])),
                                           data_version=1)
        dbo.permissions.t.insert().execute(permission='/rules/:id',
                                           username='******',
                                           options=json.dumps(
                                               dict(product=['fake'])),
                                           data_version=1)
        dbo.releases.t.insert().execute(name='a',
                                        product='a',
                                        version='a',
                                        data=json.dumps(
                                            dict(name='a',
                                                 hashFunction="sha512",
                                                 schema_version=1)),
                                        data_version=1)
        dbo.releases.t.insert().execute(name='ab',
                                        product='a',
                                        version='a',
                                        data=json.dumps(
                                            dict(name='ab',
                                                 hashFunction="sha512",
                                                 schema_version=1)),
                                        data_version=1)
        dbo.releases.t.insert().execute(name='b',
                                        product='b',
                                        version='b',
                                        data=json.dumps(
                                            dict(name='b',
                                                 hashFunction="sha512",
                                                 schema_version=1)),
                                        data_version=1)
        dbo.releases.t.insert().execute(name='c',
                                        product='c',
                                        version='c',
                                        data=json.dumps(
                                            dict(name='c',
                                                 hashFunction="sha512",
                                                 schema_version=1)),
                                        data_version=1)
        dbo.releases.t.insert().execute(name='d',
                                        product='d',
                                        version='d',
                                        data_version=1,
                                        data="""
{
    "name": "d",
    "schema_version": 1,
    "hashFunction": "sha512",
    "platforms": {
        "p": {
            "locales": {
                "d": {
                    "complete": {
                        "filesize": "1234"
                    }
                }
            }
        }
    }
}
""")
        dbo.rules.t.insert().execute(id=1,
                                     priority=100,
                                     version='3.5',
                                     buildTarget='d',
                                     backgroundRate=100,
                                     mapping='c',
                                     update_type='minor',
                                     data_version=1)
        dbo.rules.t.insert().execute(id=2,
                                     priority=100,
                                     version='3.3',
                                     buildTarget='d',
                                     backgroundRate=100,
                                     mapping='b',
                                     update_type='minor',
                                     data_version=1)
        dbo.rules.t.insert().execute(id=3,
                                     priority=100,
                                     version='3.5',
                                     buildTarget='a',
                                     backgroundRate=100,
                                     mapping='a',
                                     update_type='minor',
                                     data_version=1)
        dbo.rules.t.insert().execute(id=4,
                                     product='fake',
                                     priority=80,
                                     buildTarget='d',
                                     backgroundRate=100,
                                     mapping='a',
                                     update_type='minor',
                                     data_version=1)
        dbo.rules.t.insert().execute(id=5,
                                     priority=80,
                                     buildTarget='d',
                                     version='3.3',
                                     backgroundRate=0,
                                     mapping='c',
                                     update_type='minor',
                                     data_version=1)
        self.client = app.test_client()
Beispiel #7
0
    def setUp(self):
        self.version_fd, self.version_file = mkstemp()
        cache.reset()
        cache.make_copies = True
        app.config["SECRET_KEY"] = 'abc123'
        app.config['DEBUG'] = True
        app.config["WTF_CSRF_ENABLED"] = False
        app.config['WHITELISTED_DOMAINS'] = {'good.com': ('a', 'b', 'c', 'd')}
        app.config["VERSION_FILE"] = self.version_file
        with open(self.version_file, "w+") as f:
            f.write("""
{
  "source":"https://github.com/mozilla/balrog",
  "version":"1.0",
  "commit":"abcdef123456"
}
""")
        dbo.setDb('sqlite:///:memory:')
        dbo.setDomainWhitelist({'good.com': ('a', 'b', 'c', 'd')})
        dbo.create()
        dbo.permissions.t.insert().execute(permission='admin',
                                           username='******',
                                           data_version=1)
        dbo.permissions.t.insert().execute(
            permission='/users/:id/permissions/:permission',
            username='******',
            data_version=1)
        dbo.permissions.t.insert().execute(permission='/releases/:name',
                                           username='******',
                                           options=json.dumps(
                                               dict(product=['fake'])),
                                           data_version=1)
        dbo.permissions.t.insert().execute(
            permission='/releases/:name/read_only',
            username='******',
            options=json.dumps(dict(method='PUT')),
            data_version=1)
        dbo.permissions.t.insert().execute(permission='/rules/:id',
                                           username='******',
                                           options=json.dumps(
                                               dict(product=['fake'])),
                                           data_version=1)
        dbo.releases.t.insert().execute(name='a',
                                        product='a',
                                        data=json.dumps(
                                            dict(name='a',
                                                 hashFunction="sha512",
                                                 schema_version=1)),
                                        data_version=1)
        dbo.releases.t.insert().execute(name='ab',
                                        product='a',
                                        data=json.dumps(
                                            dict(name='ab',
                                                 hashFunction="sha512",
                                                 schema_version=1)),
                                        data_version=1)
        dbo.releases.t.insert().execute(name='b',
                                        product='b',
                                        data=json.dumps(
                                            dict(name='b',
                                                 hashFunction="sha512",
                                                 schema_version=1)),
                                        data_version=1)
        dbo.releases.t.insert().execute(name='c',
                                        product='c',
                                        data=json.dumps(
                                            dict(name='c',
                                                 hashFunction="sha512",
                                                 schema_version=1)),
                                        data_version=1)
        dbo.releases.t.insert().execute(name='d',
                                        product='d',
                                        data_version=1,
                                        data="""
{
    "name": "d",
    "schema_version": 1,
    "hashFunction": "sha512",
    "platforms": {
        "p": {
            "locales": {
                "d": {
                    "complete": {
                        "filesize": 1234,
                        "from": "*",
                        "hashValue": "abc"
                    }
                }
            }
        }
    }
}
""")
        dbo.rules.t.insert().execute(id=1,
                                     priority=100,
                                     version='3.5',
                                     buildTarget='d',
                                     backgroundRate=100,
                                     mapping='c',
                                     update_type='minor',
                                     data_version=1)
        dbo.rules.t.insert().execute(id=2,
                                     alias="frodo",
                                     priority=100,
                                     version='3.3',
                                     buildTarget='d',
                                     backgroundRate=100,
                                     mapping='b',
                                     update_type='minor',
                                     data_version=1)
        dbo.rules.t.insert().execute(id=3,
                                     priority=100,
                                     version='3.5',
                                     buildTarget='a',
                                     backgroundRate=100,
                                     mapping='a',
                                     update_type='minor',
                                     data_version=1)
        dbo.rules.t.insert().execute(id=4,
                                     product='fake',
                                     priority=80,
                                     buildTarget='d',
                                     backgroundRate=100,
                                     mapping='a',
                                     update_type='minor',
                                     data_version=1)
        dbo.rules.t.insert().execute(id=5,
                                     priority=80,
                                     buildTarget='d',
                                     version='3.3',
                                     backgroundRate=0,
                                     mapping='c',
                                     update_type='minor',
                                     data_version=1)
        self.client = app.test_client()
Beispiel #8
0
    def setUp(self):
        self.version_fd, self.version_file = mkstemp()
        cache.reset()
        cache.make_copies = True
        app.config["SECRET_KEY"] = 'abc123'
        app.config['DEBUG'] = True
        app.config["WTF_CSRF_ENABLED"] = False
        app.config['WHITELISTED_DOMAINS'] = {'good.com': ('a', 'b', 'c', 'd')}
        app.config["VERSION_FILE"] = self.version_file
        with open(self.version_file, "w+") as f:
            f.write("""
{
  "source":"https://github.com/mozilla/balrog",
  "version":"1.0",
  "commit":"abcdef123456"
}
""")
        dbo.setDb('sqlite:///:memory:')
        dbo.setDomainWhitelist({'good.com': ('a', 'b', 'c', 'd')})
        dbo.create()
        dbo.permissions.t.insert().execute(permission='admin', username='******', data_version=1)
        dbo.permissions.t.insert().execute(permission='permission', username='******', data_version=1)
        dbo.permissions.t.insert().execute(permission='release', username='******',
                                           options=dict(products=['fake', 'b'], actions=["create", "modify"]), data_version=1)
        dbo.permissions.t.insert().execute(permission='release_read_only', username='******', options=dict(actions=["set"]), data_version=1)
        dbo.permissions.t.insert().execute(permission='rule', username='******', options=dict(actions=["modify"], products=['fake']), data_version=1)
        dbo.permissions.t.insert().execute(permission='build', username='******', options=dict(actions=["modify"], products=['a']), data_version=1)
        dbo.permissions.t.insert().execute(permission="scheduled_change", username="******", options=dict(actions=["enact"]), data_version=1)
        dbo.permissions.t.insert().execute(permission='release_locale', username='******',
                                           options=dict(actions=["modify"], products=['a']), data_version=1)
        dbo.permissions.t.insert().execute(permission='admin', username='******',
                                           options=dict(products=['a']), data_version=1)
        dbo.permissions.user_roles.t.insert().execute(username="******", role="releng", data_version=1)
        dbo.permissions.user_roles.t.insert().execute(username="******", role="qa", data_version=1)
        dbo.permissions.user_roles.t.insert().execute(username="******", role="relman", data_version=1)
        dbo.releases.t.insert().execute(
            name='a', product='a', data=createBlob(dict(name='a', hashFunction="sha512", schema_version=1)), data_version=1)
        dbo.releases.t.insert().execute(
            name='ab', product='a', data=createBlob(dict(name='ab', hashFunction="sha512", schema_version=1)), data_version=1)
        dbo.releases.t.insert().execute(
            name='b', product='b', data=createBlob(dict(name='b', hashFunction="sha512", schema_version=1)), data_version=1)
        dbo.releases.t.insert().execute(
            name='c', product='c', data=createBlob(dict(name='c', hashFunction="sha512", schema_version=1)), data_version=1)
        dbo.releases.t.insert().execute(name='d', product='d', data_version=1, data=createBlob("""
{
    "name": "d",
    "schema_version": 1,
    "hashFunction": "sha512",
    "platforms": {
        "p": {
            "locales": {
                "d": {
                    "complete": {
                        "filesize": 1234,
                        "from": "*",
                        "hashValue": "abc"
                    }
                }
            }
        }
    }
}
"""))
        dbo.rules.t.insert().execute(
            rule_id=1, priority=100, version='3.5', buildTarget='d', backgroundRate=100, mapping='c', update_type='minor', data_version=1
        )
        dbo.rules.t.insert().execute(
            rule_id=2, alias="frodo", priority=100, version='3.3', buildTarget='d', backgroundRate=100, mapping='b', update_type='minor',
            data_version=1
        )
        dbo.rules.t.insert().execute(
            rule_id=3, product='a', priority=100, version='3.5', buildTarget='a', backgroundRate=100, mapping='a', update_type='minor', data_version=1
        )
        dbo.rules.t.insert().execute(
            rule_id=4, product='fake', priority=80, buildTarget='d', backgroundRate=100, mapping='a', update_type='minor', data_version=1
        )
        dbo.rules.t.insert().execute(
            rule_id=5, priority=80, buildTarget='d', version='3.3', backgroundRate=0, mapping='c', update_type='minor', data_version=1
        )
        self.client = app.test_client()