void ITenantJobs.CreateTableauTenant(CreateTableauTenantRequest request) { var siteInfo = TableauAdminService.CreateTableauTenant(request); Current.Tenant.TenantSettings.TableauTenantId = siteInfo.IdentifierForUrl; DB.SaveChanges(); }
public void WhenGivenCreateTenantRequestCreate() { var newSiteOptions = MockEnvironment.TableauSignInOptions("https://tableau-dev.traffk.com/#/site/TestMasterTenant").Object; var tableauAdminCredentials = ConfigurationHelpers.CreateOptions(TableauAdminCredentials); var httpClientOptions = ConfigurationHelpers.CreateOptions(HttpClientOptions); var httpClientFactory = new HttpClientFactory(httpClientOptions); var testAdminService = new TableauAdminService(newSiteOptions, tableauAdminCredentials, httpClientFactory, Logger) as ITableauAdminService; var dbUserName = "******"; var dbPassword = "******"; var testNewServerAddress = "traffkrdb-dev.database.windows.net/"; var testDbName = "TraffkHip2"; string path = Path.GetTempPath(); path = path + @"TableauIntegrationTestFiles"; var testCreateTenantRequest = new CreateTableauTenantRequest("CreateAndMigrateTestTenant", dbUserName, dbPassword, testNewServerAddress, testDbName, dbUserName, dbPassword, path); testAdminService.CreateTableauTenant(testCreateTenantRequest); DirectoryInfo di = new DirectoryInfo(path); foreach (FileInfo file in di.GetFiles()) { file.Delete(); } foreach (DirectoryInfo dir in di.GetDirectories()) { dir.Delete(true); } }
public TableauDataMigrationRequest(CreateTableauTenantRequest createTableauTenantRequest) { DestTableauTenantId = createTableauTenantRequest.TenantName; DestDbServerAddress = createTableauTenantRequest.NewDatabaseServerAddress; DestDbName = createTableauTenantRequest.NewDatabaseName; DestDbUsername = createTableauTenantRequest.NewDatabaseUsername; DestDbPassword = createTableauTenantRequest.NewDatabasePassword; TempFilePath = createTableauTenantRequest.TemporaryFilePath; }
SiteInfo ITableauAdminService.CreateTableauTenant(CreateTableauTenantRequest request) { var masterRestService = this as ITableauAdminService; //Create the site var newSite = CreateSite(request.TenantName); //Migrate the data var migrateDataRequest = new TableauDataMigrationRequest(request); masterRestService.MigrateDataset(migrateDataRequest); return(newSite); }