def test_service_api_success_network_key_ea_default( self, client, ea_minimum_environment_variables, monkeypatch): self.set_environment_vars(ea_minimum_environment_variables, monkeypatch) monkeypatch.setenv('SERVICE_API_SSN_EA_ORE', 'test_ssn_key_ea') env = SFTenantEnvironment() assert env.service_api_success_network_key == 'test_ssn_key_ea'
def test_replace_placeholders(self, client, custom_environment_variables, monkeypatch): self.set_environment_vars(custom_environment_variables, monkeypatch) db_creator = TenantDBCreator(SFTenantEnvironment()) assert db_creator.replace_placeholders( 'JENKINS_PLACEHOLDER_SUBDOMAIN./do_not_replace_ /.JENKINS_PLACEHOLDER_DB_NAME' ) == 'test./do_not_replace_ /.test_db'
def test_service_api_appointments_key_ea_default( self, client, ea_minimum_environment_variables, monkeypatch): self.set_environment_vars(ea_minimum_environment_variables, monkeypatch) monkeypatch.setenv('SERVICE_API_APPTS_EA_ORE', 'test_appts_key_ea') env = SFTenantEnvironment() assert env.service_api_appointments_key == 'test_appts_key_ea'
def test_rds_replica_id_ops_default(self, client, ops_minimum_environment_variables, monkeypatch): self.set_environment_vars(ops_minimum_environment_variables, monkeypatch) env = SFTenantEnvironment() assert env.rds_replica_id == 'sf-rds-ops-single-tenant-dbs03-ore'
def test_elb_url_ops_default(self, client, ops_minimum_environment_variables, monkeypatch): self.set_environment_vars(ops_minimum_environment_variables, monkeypatch) env = SFTenantEnvironment() assert env.elb_url == 'lb-ops-ore.starfishsolutions.com'
def test_sfadmin_db_name_ops_default(self, client, ops_minimum_environment_variables, monkeypatch): self.set_environment_vars(ops_minimum_environment_variables, monkeypatch) env = SFTenantEnvironment() assert env.sfadmin_db_name == 'sfadmin_ops_ore'
def test_sfadmin_db_hostname_ops_default(self, client, ops_minimum_environment_variables, monkeypatch): self.set_environment_vars(ops_minimum_environment_variables, monkeypatch) env = SFTenantEnvironment() assert env.sfadmin_db_hostname == 'sfadmin-ops-ore.db.starfishsolutions.com'
def test_update_sfadmin_db(self, client, mock_sfadmin_script, mock_execute_queries, custom_environment_variables, monkeypatch): self.set_environment_vars(custom_environment_variables, monkeypatch) db_creator = TenantDBCreator(SFTenantEnvironment()) db_creator.update_sfadmin_db() mock_sfadmin_script.assert_called_once() mock_execute_queries.assert_called_once()
def test_validate_env_vars_ea_defaults(self, client, ea_minimum_environment_variables, capsys, monkeypatch): self.set_environment_vars(ea_minimum_environment_variables, monkeypatch) SFTenantEnvironment() client.assert_called() assert 'missing' not in capsys.readouterr().err
def test_service_api_saved_filters_key_ops_default( self, client, ops_minimum_environment_variables, monkeypatch): self.set_environment_vars(ops_minimum_environment_variables, monkeypatch) monkeypatch.setenv('SERVICE_API_SSF_OPS_ORE', 'test_saved_filters_key_ops') env = SFTenantEnvironment() assert env.service_api_saved_filters_key == 'test_saved_filters_key_ops'
def test_create_mailbox(self, client, ea_minimum_environment_variables, monkeypatch): self.set_environment_vars(ea_minimum_environment_variables, monkeypatch) TenantWorkmailCreator(SFTenantEnvironment(), mailbox_user_id='test_id').create_mailbox() client().register_to_work_mail.assert_called_with( OrganizationId='test_organization_id', EntityId='test_id', Email='test_workmail_username' + '@' + 'test')
def test_create_mailbox_user(self, client, ea_minimum_environment_variables, monkeypatch): self.set_environment_vars(ea_minimum_environment_variables, monkeypatch) TenantWorkmailCreator(SFTenantEnvironment()).create_mailbox_user() client().create_user.assert_called_with( OrganizationId='test_organization_id', Name='test_workmail_username', DisplayName='test_workmail_display_name', Password='******')
def test_tenant_db_creator(self, client, custom_environment_variables, monkeypatch): self.set_environment_vars(custom_environment_variables, monkeypatch) db_creator = TenantDBCreator(SFTenantEnvironment()) assert db_creator._create_db_script_path == 'sql/create_tenant_db.sql' assert db_creator._sfadmin_script_path == 'sql/add_admin_data_source.sql' assert db_creator._new_db_script_paths == [ 'sql/set_up.sql', 'tests/sql/starfish-all/web/def/scripts/refresh/createOnly.sql', 'tests/sql/starfish-all/web/def/scripts/refresh/dataOnly_prod.sql', 'tests/sql/starfish-all/web/def/scripts/refresh/messageTemplateData.sql', 'tests/sql/starfish-all/web/def/scripts/refresh/functionOnly.sql', 'tests/sql/starfish-all/web/def/scripts/refresh/triggerOnly.sql', 'tests/sql/starfish-all/web/def/scripts/refresh/createFlagExperiments.sql', 'tests/sql/starfish-all/web/def/scripts/refresh/updateFlagExperiments.sql' ]
def test_execute_queries(self, client, connect, custom_environment_variables, monkeypatch): self.set_environment_vars(custom_environment_variables, monkeypatch) db_creator = TenantDBCreator(SFTenantEnvironment()) db_creator.execute_queries( ['select * from test;', 'select * from test2;'], db_host='test_host', db_name='test_db') connect.assert_called_with(database='test_db', host='test_host', user='******', password='******') connect().__enter__().set_isolation_level.assert_called_with(0) connect().__enter__().cursor().__enter__().execute.assert_any_call( 'select * from test;') connect().__enter__().cursor().__enter__().execute.assert_any_call( 'select * from test2;')
def test_sfadmin_script(self, client, custom_environment_variables, monkeypatch): client().describe_db_instances().DBInstances.__getitem__( ).Endpoint.Address.return_value = 'test_address' self.set_environment_vars(custom_environment_variables, monkeypatch) db_creator = TenantDBCreator(SFTenantEnvironment()) assert db_creator.sfadmin_script == ( "INSERT INTO data_source (data_source_id,\n" " db_url,\n" " calendar_email,\n" " calendar_host,\n" " support_email,\n" " support_host,\n" " db_url_read_replica)\n" "VALUES (upper('test_db'),\n" " 'jdbc:postgresql://test_address/test_db',\n" " '*****@*****.**',\n" " 'imap.mail.us-west-2.awsapps.com',\n" " 'Not Used',\n" " 'Not Used',\n" " 'jdbc:postgresql://test_address/test_db');\n")
def test_new_db_scripts(self, client, custom_environment_variables, monkeypatch): self.set_environment_vars(custom_environment_variables, monkeypatch) db_creator = TenantDBCreator(SFTenantEnvironment()) assert db_creator.new_db_scripts == [( 'alter group starfish add user batch, importer, admin;\n' 'alter user starfish set temp_buffers = \'32MB\';\n' 'alter user importer set temp_buffers = \'32MB\';\n' 'alter user admin set temp_buffers = \'32MB\';\n' 'alter user devuser set temp_buffers = \'32MB\';\n' 'alter user batch set temp_buffers = \'256MB\';\n' 'create extension "uuid-ossp";\n' 'create extension hstore;\n' 'create extension pg_stat_statements;\n' 'create extension if not exists pg_repack;\n' 'insert into sf_metadata (metadata_name, metadate_val) values (\'patch\', \'testbranch.0\');\n' 'insert into sf_metadata (metadata_name, metadate_val) values (\'functions\', \'testbranch.0\');\n' 'insert into sf_metadata (metadata_name, metadate_val) values (\'triggers\', \'testbranch.0\');\n' 'insert into sf_metadata (metadata_name, metadate_val) values (\'flagExperiments\', \'testbranch.0\');\n' ), 'testsql1\n', 'testsql2\n', 'testsql3\n', 'testsql4\n', 'testsql5\n', 'testsql6\n', 'testsql7\n']
def test_set_ELB_dns(self, client, custom_environment_variables, monkeypatch): self.set_environment_vars(custom_environment_variables, monkeypatch) TenantDNSCreator(SFTenantEnvironment()).set_ELB_dns() client().change_resource_record_sets.assert_called_with( HostedZoneId='test_host_zone_id', ChangeBatch={ 'Comment': 'sfdns.py', 'Changes': [ { 'Action': 'UPSERT', 'ResourceRecordSet': { 'ResourceRecords': [{ 'Value': 'test' }], 'Name': 'test_elb_url', 'Type': 'CNAME', 'TTL': 300 } }, ] })
def test_environment_ops_defaults(self, client, ops_minimum_environment_variables, monkeypatch): self.set_environment_vars(ops_minimum_environment_variables, monkeypatch) env = SFTenantEnvironment() assert env.environment == { 'label': 'ops', 'elb_url': 'lb-ops-ore.starfishsolutions.com', 'tenant_db': { 'rds_id': 'sf-rds-ops-single-tenant-dbs03-ore', 'rds_replica_id': 'sf-rds-ops-single-tenant-dbs03-ore' }, 'sfadmin_db': { 'name': 'sfadmin_ops_ore', 'host': 'sfadmin-ops-ore.db.starfishsolutions.com' }, 'success_network': { 'api_name': 'SERVICE_API_SSN_OPS_ORE', 'endpoint': 'https://blaise-api.hesos.net/sf-success-network-ops/tenants/{tenant_id}/users/{user_id}/' }, 'appointments': { 'api_name': 'SERVICE_API_APPTS_OPS_ORE', 'endpoint': 'https://blaise-api.hesos.net/sf-appts-ops/tenants/{tenant_id}/users/{user_id}/' }, 'saved_filters': { 'api_name': 'SERVICE_API_SSF_OPS_ORE', 'endpoint': 'https://blaise-api.hesos.net/sf-saved-filters-ops-ore/tenants/{tenant_id}/users/{user_id}/' } }
def test_mobile_surveys_enabled_ops_default( self, client, ops_minimum_environment_variables, monkeypatch): self.set_environment_vars(ops_minimum_environment_variables, monkeypatch) env = SFTenantEnvironment() assert env.mobile_surveys_enabled == 'false'
def test_workmail_password(self, client, custom_environment_variables, monkeypatch): self.set_environment_vars(custom_environment_variables, monkeypatch) env = SFTenantEnvironment() assert env.workmail_password == 'test_workmail_password'
def test_workmail_display_name(self, client, custom_environment_variables, monkeypatch): self.set_environment_vars(custom_environment_variables, monkeypatch) env = SFTenantEnvironment() assert env.workmail_display_name == 'test_workmail_display_name'
def test_responsive_kiosk_enabled(self, client, custom_environment_variables, monkeypatch): self.set_environment_vars(custom_environment_variables, monkeypatch) env = SFTenantEnvironment() assert env.responsive_kiosk_enabled == 'test_responsive_kiosk_enabled'
def test_tenant_db_create_script(self, client, custom_environment_variables, monkeypatch): self.set_environment_vars(custom_environment_variables, monkeypatch) db_creator = TenantDBCreator(SFTenantEnvironment()) assert db_creator.tenant_db_create_script == 'create database test_db;\n'
def test_responsive_kiosk_enabled_ops_default( self, client, ops_minimum_environment_variables, monkeypatch): self.set_environment_vars(ops_minimum_environment_variables, monkeypatch) env = SFTenantEnvironment() assert env.responsive_kiosk_enabled == 'false'
def test_host_zone_id(self, client, custom_environment_variables, monkeypatch): self.set_environment_vars(custom_environment_variables, monkeypatch) env = SFTenantEnvironment() assert env.host_zone_id == 'test_host_zone_id'
def test_note_ops_default(self, client, ops_minimum_environment_variables, monkeypatch): self.set_environment_vars(ops_minimum_environment_variables, monkeypatch) env = SFTenantEnvironment() assert env.note == ''
def test_starfish_db_script_dir(self, client, custom_environment_variables, monkeypatch): self.set_environment_vars(custom_environment_variables, monkeypatch) env = SFTenantEnvironment() assert env.starfish_db_script_dir == 'tests/sql/starfish-all/web/def/scripts/refresh/'
def test_rds_endpoint_address(self, client): SFTenantEnvironment.rds_endpoint_address('test_rds_id') client().describe_db_instances.assert_called_with( DBInstanceIdentifier='test_rds_id')
def test_workmail_organization_id(self, client, custom_environment_variables, monkeypatch): self.set_environment_vars(custom_environment_variables, monkeypatch) env = SFTenantEnvironment() assert env.workmail_organization_id == 'test_organization_id'
def test_note(self, client, custom_environment_variables, monkeypatch): self.set_environment_vars(custom_environment_variables, monkeypatch) env = SFTenantEnvironment() assert env.note == 'test note'