public async Task WhenICallExchangeSetApiWithASpecifiedReissueProductVersion_ThenEncFilesWillBeCreatedForLatestProductVersion() { ProductVersionData = new List <ProductVersionModel>(); ProductVersionData.Add(DataHelper.GetProductVersionModelData("JP5BHTR7", 7, 6)); ApiEssResponse = await ExchangeSetApiClient.GetProductVersionsAsync(ProductVersionData, accessToken : EssJwtToken); //Get the BatchId var batchId = await ApiEssResponse.GetBatchId(); CleanUpBatchIdList.Add(batchId); DownloadedFolderPath = await FileContentHelper.CreateExchangeSetFile(ApiEssResponse, FssJwtToken); //Get the product details form sales catalogue service var apiScsResponse = await ScsApiClient.GetProductVersionsAsync(Config.ExchangeSetProductType, ProductVersionData, ScsJwtToken); Assert.AreEqual(200, (int)apiScsResponse.StatusCode, $"Incorrect status code is returned {apiScsResponse.StatusCode}, instead of the expected status 200."); var apiScsResponseData = await apiScsResponse.ReadAsTypeAsync <ScsProductResponseModel>(); foreach (var product in apiScsResponseData.Products) { string productName = product.ProductName; int editionNumber = product.EditionNumber; //Enc file downloaded verification foreach (var updateNumber in product.UpdateNumbers) { await FileContentHelper.GetDownloadedEncFilesAsync(Config.FssConfig.BaseUrl, Path.Combine(DownloadedFolderPath, Config.ExchangeSetEncRootFolder), productName, editionNumber, updateNumber, FssJwtToken); } } }
public async Task WhenICallExchangeSetApiWithAnInValidProductVersion_ThenACatalogueFileIsGenerated() { bool checkFile = FssBatchHelper.CheckforFileExist(Path.Combine(DownloadedFolderPath, Config.ExchangeSetEncRootFolder), Config.ExchangeSetCatalogueFile); Assert.IsTrue(checkFile, $"File not Exist in the specified folder path : {Path.Combine(DownloadedFolderPath, Config.ExchangeSetEncRootFolder)}"); //Verify Catalog file content var apiScsResponse = await ScsApiClient.GetProductVersionsAsync(Config.ExchangeSetProductType, ProductVersionData, ScsJwtToken); Assert.AreEqual(304, (int)apiScsResponse.StatusCode, $"Incorrect status code is returned {apiScsResponse.StatusCode}, instead of the expected status 304."); FileContentHelper.CheckCatalogueFileNoContent(Path.Combine(DownloadedFolderPath, Config.ExchangeSetEncRootFolder, Config.ExchangeSetCatalogueFile), ProductVersionData); }
public async Task WhenICallExchangeSetProductVersionsApiWithACancelledProduct_ThenCatalogueFileUpdatedWithEditionNumberZero() { List <ProductVersionModel> ProductVersiondata = new List <ProductVersionModel>(); ProductVersiondata.Add(DataHelper.GetProductVersionModelData("DE516510", 2, 1)); var apiResponse = await ExchangeSetApiClient.GetProductVersionsAsync(ProductVersiondata, accessToken : EssJwtToken); Assert.AreEqual(200, (int)apiResponse.StatusCode, $"Incorrect status code {apiResponse.StatusCode} is returned, instead of the expected 200."); var apiResponseData = await apiResponse.ReadAsTypeAsync <ExchangeSetResponseModel>(); var batchStatusUrl = apiResponseData.Links.ExchangeSetBatchStatusUri.Href; var batchId = batchStatusUrl.Split('/')[5]; CleanUpBatchIdList.Add(batchId); var finalBatchStatusUrl = $"{Config.FssConfig.BaseUrl}/batch/{batchId}/status"; var batchStatus = await FssBatchHelper.CheckBatchIsCommitted(finalBatchStatusUrl.ToString(), FssJwtToken); Assert.AreEqual("Committed", batchStatus, $"Incorrect batch status is returned {batchStatus} for url {batchStatusUrl}, instead of the expected status Committed."); var downloadFileUrl = $"{Config.FssConfig.BaseUrl}/batch/{batchId}/files/{Config.ExchangeSetFileName}"; var extractDownloadedFolder = await FssBatchHelper.ExtractDownloadedFolder(downloadFileUrl.ToString(), FssJwtToken); var downloadFolder = FssBatchHelper.RenameFolder(extractDownloadedFolder); var downloadFolderPath = Path.Combine(Path.GetTempPath(), downloadFolder); //Verify Cancellation details var apiScsResponse = await ScsApiClient.GetProductVersionsAsync(Config.ExchangeSetProductType, ProductVersiondata, ScsJwtToken); Assert.AreEqual(200, (int)apiScsResponse.StatusCode, $"Incorrect status code is returned {apiScsResponse.StatusCode}, instead of the expected status 200."); var apiScsResponseData = await apiScsResponse.ReadAsTypeAsync <CancellationResponseModel>(); foreach (var product in apiScsResponseData.Products) { var productName = product.ProductName; var editionNumber = product.Cancellation.EditionNumber; Assert.AreEqual(0, editionNumber, $"Incorrect edition number is returned {editionNumber}, instead of 0."); var updateNumber = product.UpdateNumbers[product.UpdateNumbers.Count - 1]; CancellationFileHelper.CheckCatalogueFileContent(Path.Combine(downloadFolderPath, Config.ExchangeSetEncRootFolder, Config.ExchangeSetCatalogueFile), editionNumber, updateNumber, batchId); CancellationFileHelper.CheckProductFileContent(Path.Combine(downloadFolderPath, Config.ExchangeSetProductFilePath, Config.ExchangeSetProductFile), productName, editionNumber); } }
public async Task WhenICallExchangeSetApiWithAValidProductVersion_ThenEncFilesAreDownloaded() { //Get the product details form sales catalogue service var apiScsResponse = await ScsApiClient.GetProductVersionsAsync(Config.ExchangeSetProductType, ProductVersionData, ScsJwtToken); Assert.AreEqual(200, (int)apiScsResponse.StatusCode, $"Incorrect status code is returned {apiScsResponse.StatusCode}, instead of the expected status 200."); var apiScsResponseData = await apiScsResponse.ReadAsTypeAsync <ScsProductResponseModel>(); foreach (var product in apiScsResponseData.Products) { string productName = product.ProductName; int editionNumber = product.EditionNumber; //Enc file downloaded verification foreach (var updateNumber in product.UpdateNumbers) { await FileContentHelper.GetDownloadedEncFilesAsync(Config.FssConfig.BaseUrl, Path.Combine(DownloadedFolderPath, Config.ExchangeSetEncRootFolder), productName, editionNumber, updateNumber, FssJwtToken); } } }