示例#1
0
    def setup(self):
        fh = open("tests/fixture/dynamodb-event.json")
        # Event data structure to load in order to mock a profile update
        self.event_json = fh.read()
        fh.close()
        self.event_gen = EventGenerator()

        from cis_identity_vault import vault

        self.v = vault.IdentityVault()
        os.environ["CIS_ENVIRONMENT"] = "testing"
        os.environ["CIS_REGION_NAME"] = "us-east-1"
        os.environ["DEFAULT_AWS_REGION"] = "us-east-1"
        self.v.connect()
        result = self.v.find_or_create()
        assert result is not None
        self.v.tag_vault()
        self.event_gen = EventGenerator()
        self.events_and_users = self.event_gen.events_and_users()

        os.environ["CIS_POSTGRES_HOST"] = "db"
        os.environ["CIS_POSTGRES_PORT"] = "5432"
        os.environ["CIS_DB_USER"] = "******"
        os.environ["CIS_DB_PASSWORD"] = "******"

        q = vault.RelationalIdentityVault()
        q.session()
        q.create()
示例#2
0
文件: user.py 项目: romanom/cis
 def __init__(self):
     self.engine = vault.RelationalIdentityVault().engine()
     Session = sessionmaker()
     self.session = Session(bind=self.engine)
     self.scoped_session = scoped_session(
         sessionmaker(autocommit=False, autoflush=False, bind=self.engine))
     rds.Base.query = self.scoped_session.query_property()
示例#3
0
    def test_user_delete(self):
        from cis_identity_vault import vault
        from cis_identity_vault.models import user

        v = vault.RelationalIdentityVault()
        v.create()
        u = user.ProfileRDS()
        u.create(user_profile=self.user_profile)
        u.delete(user_profile=self.user_profile)
        assert u.find(self.user_profile) is None
示例#4
0
    def test_table_init(self):
        os.environ["CIS_POSTGRES_HOST"] = "db"
        os.environ["CIS_POSTGRES_PORT"] = "5432"
        os.environ["CIS_DB_USER"] = "******"
        os.environ["CIS_DB_PASSWORD"] = "******"
        from cis_identity_vault import vault

        v = vault.RelationalIdentityVault()
        v.create()
        assert v.table() is not None
        v.delete()
示例#5
0
    def test_db_create(self):
        os.environ["CIS_POSTGRES_HOST"] = "db"
        os.environ["CIS_POSTGRES_PORT"] = "5432"
        os.environ["CIS_DB_USER"] = "******"
        os.environ["CIS_DB_PASSWORD"] = "******"
        os.environ["CIS_IDENTITY_VAULT"] = "purple-unicorn"
        from cis_identity_vault import vault

        v = vault.RelationalIdentityVault()
        v.find_or_create()
        v.delete()
示例#6
0
    def test_find_by_uuid(self):
        from cis_identity_vault import vault
        from cis_identity_vault.models import user

        v = vault.RelationalIdentityVault()
        v.create()
        u = user.ProfileRDS()
        u.create(user_profile=self.user_profile)
        s = user.ProfileRDS()
        search_result = s.find_by_uuid(self.user_profile["uuid"]["value"])
        assert search_result.profile["uuid"]["value"] == self.user_profile[
            "uuid"]["value"]
示例#7
0
    def test_user_update(self):
        from cis_identity_vault import vault
        from cis_identity_vault.models import user

        v = vault.RelationalIdentityVault()
        v.create()
        u = user.ProfileRDS()
        u.create(user_profile=self.user_profile)
        mutated_user_profile = self.user_profile
        mutated_user_profile["active"]["value"] = False
        u.update(user_profile=mutated_user_profile)
        u.delete(user_profile=self.user_profile)
示例#8
0
文件: handler.py 项目: romanom/cis
def handle(event, context={}):
    """Handle the publishing of users."""
    logger = setup_logging()
    v = vault.RelationalIdentityVault()
    v.find_or_create()
    exch = exchange.DynamoStream()
    user_ids = exch.user_ids_from_stream(event)
    profiles = exch.profiles(user_ids)
    postgres_vault = exchange.PostgresqlMapper()
    result = postgres_vault.to_postgres(profiles)
    logger.info(f'Profiles have been written to the vault with result: {result}')
    return 200
示例#9
0
    def test_find_by_email(self):
        from cis_identity_vault import vault
        from cis_identity_vault.models import user

        v = vault.RelationalIdentityVault()
        v.create()
        u = user.ProfileRDS()
        self.user_profile["primary_email"]["value"] = "*****@*****.**"
        u.create(user_profile=self.user_profile)
        primary_email = self.user_profile["primary_email"]["value"]
        s = user.ProfileRDS()
        search_result = s.find_by_email(primary_email)
        assert len(search_result) > 0
示例#10
0
    def test_user_delete(self):
        os.environ["CIS_POSTGRES_HOST"] = "db"
        os.environ["CIS_POSTGRES_PORT"] = "5432"
        os.environ["CIS_DB_USER"] = "******"
        os.environ["CIS_DB_PASSWORD"] = "******"
        from cis_identity_vault import vault
        from cis_identity_vault.models import user

        v = vault.RelationalIdentityVault()
        v.create()
        u = user.ProfileRDS()
        u.create(user_profile=self.user_profile)
        u.delete(user_profile=self.user_profile)
        assert u.find(self.user_profile) is None
示例#11
0
    def test_user_find(self):
        from cis_identity_vault import vault
        from cis_identity_vault.models import user

        v = vault.RelationalIdentityVault()
        v.create()
        u = user.ProfileRDS()
        res = u.create(user_profile=self.user_profile)
        positive_search_result = u.find(self.user_profile)
        assert positive_search_result is not None
        non_existant_user = FakeUser().as_dict()
        negative_search_result = u.find(non_existant_user)
        assert negative_search_result is None
        u.delete(user_profile=self.user_profile)
        assert res is not None
示例#12
0
    def test_user_update(self):
        os.environ["CIS_POSTGRES_HOST"] = "db"
        os.environ["CIS_POSTGRES_PORT"] = "5432"
        os.environ["CIS_DB_USER"] = "******"
        os.environ["CIS_DB_PASSWORD"] = "******"
        from cis_identity_vault import vault
        from cis_identity_vault.models import user

        v = vault.RelationalIdentityVault()
        v.create()
        u = user.ProfileRDS()
        u.create(user_profile=self.user_profile)
        mutated_user_profile = self.user_profile
        mutated_user_profile["active"]["value"] = False
        u.update(user_profile=mutated_user_profile)
        u.delete(user_profile=self.user_profile)
示例#13
0
    def test_find_by_uuid(self):
        os.environ["CIS_POSTGRES_HOST"] = "db"
        os.environ["CIS_POSTGRES_PORT"] = "5432"
        os.environ["CIS_DB_USER"] = "******"
        os.environ["CIS_DB_PASSWORD"] = "******"
        from cis_identity_vault import vault
        from cis_identity_vault.models import user

        v = vault.RelationalIdentityVault()
        v.create()
        u = user.ProfileRDS()
        u.create(user_profile=self.user_profile)
        s = user.ProfileRDS()
        search_result = s.find_by_uuid(self.user_profile["uuid"]["value"])
        assert search_result.profile["uuid"]["value"] == self.user_profile[
            "uuid"]["value"]
示例#14
0
    def test_find_by_email(self):
        os.environ["CIS_POSTGRES_HOST"] = "db"
        os.environ["CIS_POSTGRES_PORT"] = "5432"
        os.environ["CIS_DB_USER"] = "******"
        os.environ["CIS_DB_PASSWORD"] = "******"
        from cis_identity_vault import vault
        from cis_identity_vault.models import user

        v = vault.RelationalIdentityVault()
        v.create()
        u = user.ProfileRDS()
        self.user_profile["primary_email"]["value"] = "*****@*****.**"
        u.create(user_profile=self.user_profile)
        primary_email = self.user_profile["primary_email"]["value"]
        s = user.ProfileRDS()
        search_result = s.find_by_email(primary_email)
        assert len(search_result) > 0
示例#15
0
    def test_user_find(self):
        os.environ["CIS_POSTGRES_HOST"] = "db"
        os.environ["CIS_POSTGRES_PORT"] = "5432"
        os.environ["CIS_DB_USER"] = "******"
        os.environ["CIS_DB_PASSWORD"] = "******"
        from cis_identity_vault import vault
        from cis_identity_vault.models import user

        v = vault.RelationalIdentityVault()
        v.create()
        u = user.ProfileRDS()
        res = u.create(user_profile=self.user_profile)
        positive_search_result = u.find(self.user_profile)
        assert positive_search_result is not None
        non_existant_user = FakeUser().as_dict()
        negative_search_result = u.find(non_existant_user)
        assert negative_search_result is None
        u.delete(user_profile=self.user_profile)
        assert res is not None
        v.delete()
示例#16
0
    def test_table_init(self):
        from cis_identity_vault import vault

        v = vault.RelationalIdentityVault()
        v.create()
        assert v.table() is not None
示例#17
0
    def test_db_create(self):
        os.environ["CIS_IDENTITY_VAULT"] = "purple-unicorn"
        from cis_identity_vault import vault

        v = vault.RelationalIdentityVault()
        v.find_or_create()