Пример #1
0
 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'
Пример #2
0
 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'
Пример #3
0
 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'
Пример #4
0
 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'
Пример #5
0
 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'
Пример #6
0
 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'
Пример #7
0
 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'
Пример #8
0
 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()
Пример #9
0
 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
Пример #10
0
    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='******')
Пример #13
0
 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'
     ]
Пример #14
0
    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;')
Пример #15
0
 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")
Пример #16
0
 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']
Пример #17
0
 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
                     }
                 },
             ]
         })
Пример #18
0
 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}/'
         }
     }
Пример #19
0
 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'
Пример #20
0
 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'
Пример #21
0
 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'
Пример #22
0
 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'
Пример #23
0
 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'
Пример #24
0
 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'
Пример #25
0
 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'
Пример #26
0
 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 == ''
Пример #27
0
 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/'
Пример #28
0
 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')
Пример #29
0
 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'
Пример #30
0
 def test_note(self, client, custom_environment_variables, monkeypatch):
     self.set_environment_vars(custom_environment_variables, monkeypatch)
     env = SFTenantEnvironment()
     assert env.note == 'test note'