public async Task ReportClone() { var cloneResponse = CreateSampleCloneReportResponse(); var reportId = Guid.NewGuid().ToString(); var cloneRequest = new CloneReportRequest() { TargetModelId = Guid.NewGuid().ToString(), Name = "Model Name", TargetWorkspaceId = Guid.NewGuid().ToString() }; using (var handler = new FakeHttpClientHandler(cloneResponse)) using (var client = CreatePowerBIClient(handler)) { var response = await client.Reports.CloneReportAsync(reportId, cloneRequest); var expectedRequestUrl = $"https://api.powerbi.com/v1.0/myorg/reports/{reportId}/Clone"; Assert.AreEqual(expectedRequestUrl, handler.Request.RequestUri.ToString()); Assert.IsNotNull(response.Id); Assert.IsNotNull(response.EmbedUrl); Assert.IsNotNull(response.Name); Assert.IsNotNull(response.WebUrl); CheckAuthHeader(handler.Request.Headers.Authorization.ToString()); } }
public async Task UpdateReportContent() { var updateReportContentResponse = CreateSampleReportResponse(); var reportId = Guid.NewGuid(); var reportUpdateContentRequest = new UpdateReportContentRequest() { SourceReport = new SourceReport(Guid.NewGuid(), Guid.NewGuid()) }; using (var handler = new FakeHttpClientHandler(updateReportContentResponse)) using (var client = CreatePowerBIClient(handler)) { var response = await client.Reports.UpdateReportContentAsync(reportId, reportUpdateContentRequest); var expectedRequestUrl = $"https://api.powerbi.com/v1.0/myorg/reports/{reportId}/UpdateReportContent"; Assert.AreEqual(expectedRequestUrl, handler.Request.RequestUri.ToString()); Assert.IsNotNull(response.Id); Assert.IsNotNull(response.EmbedUrl); Assert.IsNotNull(response.Name); Assert.IsNotNull(response.WebUrl); CheckAuthHeader(handler.Request.Headers.Authorization.ToString()); } }
public async Task CreateInstallTicket() { var installTicketReponse = CreateInstallTicketResponse(this.appId); var reportId = Guid.NewGuid(); using (var handler = new FakeHttpClientHandler(installTicketReponse)) using (var client = CreatePowerBIClient(handler)) { var request = new CreateInstallTicketRequest { InstallDetails = new List <TemplateAppInstallDetails> { new TemplateAppInstallDetails { AppId = this.appId, PackageKey = this.packageKey, OwnerTenantId = this.ownerTenantId, Config = new TemplateAppConfigurationRequest { Configuration = new Dictionary <string, string>() { { "param1", "value1" } } } } } }; await client.TemplateApps.CreateInstallTicketAsync(request); var expectedRequestUrl = $"https://api.powerbi.com/v1.0/myorg/CreateTemplateAppInstallTicket"; Assert.AreEqual(expectedRequestUrl, handler.Request.RequestUri.ToString()); CheckAuthHeader(handler.Request.Headers.Authorization.ToString()); } }
public async Task PostImportFileWithConflict() { var nameConflict = "Overwrite"; var importResponse = CreateSampleImportResponse(); using (var handler = new FakeHttpClientHandler(importResponse)) using (var client = CreatePowerBIClient(handler)) using (var stream = new MemoryStream()) { await client.Imports.PostImportWithFileAsync(this.workspaceCollectionName, this.workspaceId, stream, nameConflict: nameConflict); var expectedRequesetUrl = $"https://api.powerbi.com/v1.0/collections/{this.workspaceCollectionName}/workspaces/{this.workspaceId}/imports?nameConflict={nameConflict}"; Assert.AreEqual(expectedRequesetUrl, handler.Request.RequestUri.ToString()); } }
public async Task PostImportFileWithNameAndSkipReport() { var datasetDisplayName = "TestDataset"; var importResponse = CreateSampleImportResponse(); using (var handler = new FakeHttpClientHandler(importResponse)) using (var client = CreatePowerBIClient(handler)) using (var stream = new MemoryStream()) { await client.Imports.PostImportWithFileAsync(stream, datasetDisplayName, skipReport : true); var expectedRequesetUrl = $"https://api.powerbi.com/v1.0/myorg/imports?datasetDisplayName={datasetDisplayName}&skipReport=True"; Assert.AreEqual(expectedRequesetUrl, handler.Request.RequestUri.ToString()); } }
public async Task Groups_PostImportFileWithName() { var datasetDisplayName = "TestDataset"; var importResponse = CreateSampleImportResponse(); using (var handler = new FakeHttpClientHandler(importResponse)) using (var client = CreatePowerBIClient(handler)) using (var stream = new MemoryStream()) { await client.Imports.PostImportWithFileAsyncInGroup(this.groupId, stream, datasetDisplayName); var expectedRequesetUrl = $"https://api.powerbi.com/v1.0/myorg/groups/{this.groupId}/imports?datasetDisplayName={datasetDisplayName}"; Assert.AreEqual(expectedRequesetUrl, handler.Request.RequestUri.ToString()); } }
public async Task PostImportFileWithConflict() { var nameConflict = "Overwrite"; var importResponse = CreateSampleImportResponse(); using (var handler = new FakeHttpClientHandler(importResponse)) using (var client = CreatePowerBIClient(handler)) using (var stream = new MemoryStream()) { await client.Imports.PostImportWithFileAsync(stream, nameConflict : nameConflict); var expectedRequesetUrl = $"https://api.powerbi.com/v1.0/myorg/imports?nameConflict={nameConflict}"; Assert.AreEqual(expectedRequesetUrl, handler.Request.RequestUri.ToString()); } }
public async Task ReportDeleteInGroup() { var deleteResponse = CreateSampleCloneReportResponse(); var reportId = Guid.NewGuid().ToString(); using (var handler = new FakeHttpClientHandler(deleteResponse)) using (var client = CreatePowerBIClient(handler)) { await client.Reports.DeleteReportInGroupAsync(this.groupId, reportId); var expectedRequestUrl = $"https://api.powerbi.com/v1.0/myorg/groups/{this.groupId}/reports/{reportId}"; Assert.AreEqual(expectedRequestUrl, handler.Request.RequestUri.ToString()); CheckAuthHeader(handler.Request.Headers.Authorization.ToString()); } }
public async Task PostImportWithFileWithNameAndConflict() { var datasetDisplayName = "TestDataset"; var nameConflict = "Overwrite"; var importResponse = CreateSampleImportResponse(); using (var handler = new FakeHttpClientHandler(importResponse)) using (var client = CreatePowerBIClient(handler)) using (var stream = new MemoryStream()) { await client.Imports.PostImportWithFileAsync(this.workspaceCollectionName, this.workspaceId, stream, datasetDisplayName, nameConflict); var expectedRequesetUrl = $"https://api.powerbi.com/v1.0/collections/{this.workspaceCollectionName}/workspaces/{this.workspaceId}/imports?datasetDisplayName={datasetDisplayName}&nameConflict={nameConflict}"; Assert.AreEqual(expectedRequesetUrl, handler.Request.RequestUri.ToString()); } }
public async Task ReportRebind() { var rebindResponse = CreateSampleOKResponse(); var reportId = Guid.NewGuid().ToString(); var datasetId = Guid.NewGuid().ToString(); using (var handler = new FakeHttpClientHandler(rebindResponse)) using (var client = CreatePowerBIClient(handler)) { await client.Reports.RebindReportAsync(reportId, new RebindReportRequest(datasetId)); var expectedRequestUrl = $"https://api.powerbi.com/v1.0/myorg/reports/{reportId}/Rebind"; Assert.AreEqual(expectedRequestUrl, handler.Request.RequestUri.ToString()); CheckAuthHeader(handler.Request.Headers.Authorization.ToString()); } }