Ejemplo n.º 1
0
def do_db_bootstrap(localconfig=None):
    from anchore_engine.db import session_scope

    with upgrade_context(my_module_upgrade_id) as ctx:
        with session_scope() as session:
            try:
                initializer = identities.IdentityBootstrapper(
                    identities.IdentityManager, session)
                initializer.initialize_system_identities()
            except Exception as err:
                logger.exception(
                    'Error initializing system credentials on db bootstrap')
                raise Exception(
                    "Initialization failed: could not initialize system credentials - exception: "
                    + str(err))

            try:
                initializer.initialize_user_identities_from_config(
                    config_credentials=localconfig.get('credentials'))
            except Exception as err:
                logger.exception(
                    'Error initializing user credentials on db bootstrap')
                raise Exception(
                    "Initialization failed: could not add users from config into DB - exception: "
                    + str(err))
Ejemplo n.º 2
0
def test_initialize_identities(anchore_db, monkeypatch):
    monkeypatch.setattr(
        localconfig, "localconfig", {"default_admin_password": "******"}
    )

    try:
        with session_scope() as session:
            bootstrapper = identities.IdentityBootstrapper(
                identities.IdentityManager, session
            )
            bootstrapper.initialize_system_identities()

        with session_scope() as session:
            mgr = identities.manager_factory.for_session(session)
            accnt1 = mgr.get_account(localconfig.SYSTEM_ACCOUNT_NAME)
            logger.info(str(accnt1))
            assert AccountTypes.service == accnt1["type"]

        with session_scope() as session:
            mgr = identities.manager_factory.for_session(session)
            user1, creds1 = mgr.get_credentials_for_username(
                localconfig.SYSTEM_ACCOUNT_NAME
            )

        logger.info(creds1)
        assert user1 is not None
        assert creds1 is not None
    finally:
        tearDown()
Ejemplo n.º 3
0
def test_unset_default_password(anchore_db, monkeypatch):
    with pytest.raises(Exception) as excinfo:
        with session_scope() as session:
            bootstrapper = identities.IdentityBootstrapper(
                identities.IdentityManager, session
            )
            bootstrapper.initialize_system_identities()

    assert "No default admin password provided" in str(excinfo.value)
Ejemplo n.º 4
0
def do_db_bootstrap(localconfig=None, db_versions=None, code_versions=None):
    from anchore_engine.db import session_scope

    with upgrade_context(my_module_upgrade_id) as ctx:
        with session_scope() as session:
            try:
                initializer = identities.IdentityBootstrapper(identities.IdentityManager, session)
                initializer.initialize_system_identities()
            except Exception as err:
                logger.exception('Error initializing system credentials on db bootstrap')
                raise Exception("Initialization failed: could not initialize system credentials - exception: " + str(err))

        do_version_update(db_versions, code_versions)
Ejemplo n.º 5
0
def test_initialize_users(anchore_db):
    try:
        test_creds = {
            'users': {
                'user1': {
                    'password': '******',
                    'email': 'user1@email'
                },
                'user2': {
                    'password': '******',
                    'email': 'user2@email'
                }
            }
        }

        with session_scope() as session:
            bootstrapper = identities.IdentityBootstrapper(
                identities.IdentityManager, session)
            bootstrapper.initialize_user_identities_from_config(test_creds)

        with session_scope() as session:
            mgr = identities.manager_factory.for_session(session)
            accnt1 = mgr.get_account('user1')

        logger.info(str(accnt1))
        assert accnt1 is not None

        with session_scope() as session:
            mgr = identities.manager_factory.for_session(session)
            user1, cred1 = mgr.get_credentials_for_username('user1')

        logger.info(str(cred1))
        assert cred1 is not None

        with session_scope() as session:
            mgr = identities.manager_factory.for_session(session)
            accnt2 = mgr.get_account('user2')

        logger.info(str(accnt2))
        assert accnt2 is not None

        with session_scope() as session:
            mgr = identities.manager_factory.for_session(session)
            user2, cred2 = mgr.get_credentials_for_username('user2')

        logger.info(str(cred2))
        assert cred2 is not None
    finally:
        tearDown()
Ejemplo n.º 6
0
def test_initialize_users(anchore_db):
    try:
        test_creds = {
            "users": {
                "user1": {
                    "password": "******",
                    "email": "user1@email"
                },
                "user2": {
                    "password": "******",
                    "email": "user2@email"
                },
            }
        }

        with session_scope() as session:
            bootstrapper = identities.IdentityBootstrapper(
                identities.IdentityManager, session)
            bootstrapper.initialize_user_identities_from_config(test_creds)

        with session_scope() as session:
            mgr = identities.manager_factory.for_session(session)
            accnt1 = mgr.get_account("user1")

        logger.info(str(accnt1))
        assert accnt1 is not None

        with session_scope() as session:
            mgr = identities.manager_factory.for_session(session)
            user1, cred1 = mgr.get_credentials_for_username("user1")

        logger.info(str(cred1))
        assert cred1 is not None

        with session_scope() as session:
            mgr = identities.manager_factory.for_session(session)
            accnt2 = mgr.get_account("user2")

        logger.info(str(accnt2))
        assert accnt2 is not None

        with session_scope() as session:
            mgr = identities.manager_factory.for_session(session)
            user2, cred2 = mgr.get_credentials_for_username("user2")

        logger.info(str(cred2))
        assert cred2 is not None
    finally:
        tearDown()
Ejemplo n.º 7
0
    def test_initialize_users(self):
        test_creds = {
            'users': {
                'user1': {
                    'password': '******',
                    'email': 'user1@email'
                },
                'user2': {
                    'password': '******',
                    'email': 'user2@email'
                }
            }
        }

        with session_scope() as session:
            bootstrapper = identities.IdentityBootstrapper(
                identities.IdentityManager, session)
            bootstrapper.initialize_user_identities_from_config(test_creds)

        with session_scope() as session:
            mgr = identities.manager_factory.for_session(session)
            accnt1 = mgr.get_account('user1')

        print(accnt1)
        self.assertIsNotNone(accnt1)

        with session_scope() as session:
            mgr = identities.manager_factory.for_session(session)
            user1, cred1 = mgr.get_credentials_for_username('user1')

        print(cred1)
        self.assertIsNotNone(cred1)

        with session_scope() as session:
            mgr = identities.manager_factory.for_session(session)
            accnt2 = mgr.get_account('user2')

        print(accnt2)
        self.assertIsNotNone(accnt2)
        with session_scope() as session:
            mgr = identities.manager_factory.for_session(session)
            user2, cred2 = mgr.get_credentials_for_username('user2')

        print(cred2)
        self.assertIsNotNone(cred2)
Ejemplo n.º 8
0
    def test_initialize_identities(self):
        with session_scope() as session:
            bootstrapper = identities.IdentityBootstrapper(
                identities.IdentityManager, session)
            bootstrapper.initialize_system_identities()

        with session_scope() as session:
            mgr = identities.manager_factory.for_session(session)
            accnt1 = mgr.get_account(SYSTEM_ACCOUNT_NAME)
            print(accnt1)
            self.assertEqual(AccountTypes.service, accnt1['type'])

        with session_scope() as session:
            mgr = identities.manager_factory.for_session(session)
            user1, creds1 = mgr.get_credentials_for_username(
                SYSTEM_ACCOUNT_NAME)

        print(creds1)
        self.assertIsNotNone(user1)
        self.assertIsNotNone(creds1)
Ejemplo n.º 9
0
def test_initialize_identities(anchore_db):
    try:
        with session_scope() as session:
            bootstrapper = identities.IdentityBootstrapper(
                identities.IdentityManager, session)
            bootstrapper.initialize_system_identities()

        with session_scope() as session:
            mgr = identities.manager_factory.for_session(session)
            accnt1 = mgr.get_account(SYSTEM_ACCOUNT_NAME)
            logger.info(str(accnt1))
            assert AccountTypes.service == accnt1['type']

        with session_scope() as session:
            mgr = identities.manager_factory.for_session(session)
            user1, creds1 = mgr.get_credentials_for_username(
                SYSTEM_ACCOUNT_NAME)

        logger.info(creds1)
        assert user1 is not None
        assert creds1 is not None
    finally:
        tearDown()