public async Task SetupAsync() { Config = new TestConfiguration(); ExchangeSetApiClient = new ExchangeSetApiClient(Config.EssBaseAddress); FssApiClient = new FssApiClient(); AuthTokenProvider authTokenProvider = new AuthTokenProvider(); EssJwtToken = await authTokenProvider.GetEssToken(); FssJwtToken = await authTokenProvider.GetFssToken(); DataHelper = new DataHelper(); ScsApiClient = new SalesCatalogueApiClient(Config.ScsAuthConfig.BaseUrl); ScsJwtToken = await authTokenProvider.GetScsToken(); ProductVersionData = new List <ProductVersionModel>(); ////Invalid Edition Number ProductVersionData.Add(DataHelper.GetProductVersionModelData("DE416040", 11, 1)); ApiEssResponse = await ExchangeSetApiClient.GetProductVersionsAsync(ProductVersionData, accessToken : EssJwtToken); //Get the BatchId var batchId = await ApiEssResponse.GetBatchId(); CleanUpBatchIdList.Add(batchId); DownloadedFolderPath = await FileContentHelper.CreateExchangeSetFile(ApiEssResponse, FssJwtToken); }
public async Task WhenICallExchangeSetApiWithMultipleReissueProductIdentifiers_ThenEncFilesAreDownloaded() { ApiEssResponse = await ExchangeSetApiClient.GetProductIdentifiersDataAsync(DataHelper.GetReissueProducts(), accessToken : EssJwtToken); //Get the BatchId var batchId = await ApiEssResponse.GetBatchId(); CleanUpBatchIdList.Add(batchId); DownloadedFolderPath = await FileContentHelper.CreateExchangeSetFile(ApiEssResponse, FssJwtToken); //Get the product details from sales catalogue service var apiScsResponse = await ScsApiClient.GetProductIdentifiersAsync(Config.ExchangeSetProductType, DataHelper.GetReissueProducts(), 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 download verification foreach (var updateNumber in product.UpdateNumbers) { await FileContentHelper.GetDownloadedEncFilesAsync(Config.FssConfig.BaseUrl, Path.Combine(DownloadedFolderPath, Config.ExchangeSetEncRootFolder), productName, editionNumber, updateNumber, FssJwtToken); } } }
public void WhenICallExchangeSetApiWithAnInvalidProductVersion_ThenAReadMeTxtFileIsGenerated() { bool checkFile = FssBatchHelper.CheckforFileExist(Path.Combine(DownloadedFolderPath, Config.ExchangeSetEncRootFolder), Config.ExchangeReadMeFile); Assert.IsTrue(checkFile, $"{Config.ExchangeReadMeFile} File not Exist in the specified folder path : {Path.Combine(DownloadedFolderPath, Config.ExchangeSetEncRootFolder)}"); //Verify the README.TXT file content FileContentHelper.CheckReadMeTxtFileContent(Path.Combine(DownloadedFolderPath, Config.ExchangeSetEncRootFolder, Config.ExchangeReadMeFile)); }
public void WhenICallExchangeSetApiWithAnInValidProductVersion_ThenASerialEncFileIsGenerated() { bool checkFile = FssBatchHelper.CheckforFileExist(DownloadedFolderPath, Config.ExchangeSetSerialEncFile); Assert.IsTrue(checkFile, $"{Config.ExchangeSetSerialEncFile} File not Exist in the specified folder path : {DownloadedFolderPath}"); //Verify Serial.Enc file content FileContentHelper.CheckSerialEncFileContent(Path.Combine(DownloadedFolderPath, Config.ExchangeSetSerialEncFile)); }
public TokenisedPackageBuilder( ManifestBuilder manifestBuilder, FileContentHelper fileContentProcessor, AppConfiguration appConfiguration, IoHelper ioHelper) { this.manifestBuilder = manifestBuilder; this.fileContentProcessor = fileContentProcessor; this.appConfiguration = appConfiguration; this.ioHelper = ioHelper; }
public async Task GlobalTeardown() { //Clean up downloaded files/folders FileContentHelper.DeleteDirectory(Config.ExchangeSetFileName); if (CleanUpBatchIdList != null && CleanUpBatchIdList.Count > 0) { //Clean up batches from local foldar var apiResponse = await FssApiClient.CleanUpBatchesAsync(Config.FssConfig.BaseUrl, CleanUpBatchIdList, FssJwtToken); Assert.AreEqual(200, (int)apiResponse.StatusCode, $"Incorrect status code {apiResponse.StatusCode} is returned for clean up batches, instead of the expected 200."); } }
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 WhenICallExchangeSetApiWithProductIdentifiers_AndCalledClearCache_ThenItsClearTheCache() { //Get the product details form sales catalogue service var apiScsResponse = await ScsApiClient.GetProductIdentifiersAsync(Config.ExchangeSetProductType, new List <string>() { "DE290001" }, 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 download verification foreach (var updateNumber in product.UpdateNumbers) { await FileContentHelper.GetDownloadedEncFilesAsync(Config.FssConfig.BaseUrl, Path.Combine(DownloadedFolderPath, Config.ExchangeSetEncRootFolder), productName, editionNumber, updateNumber, FssJwtToken); } } var partitionKey = apiScsResponseData.Products[0].ProductName; var rowKey = apiScsResponseData.Products[0].EditionNumber + "|" + apiScsResponseData.Products[0].UpdateNumbers[0]; Console.WriteLine("Storange conn " + Config.EssStorageAccountConnectionString); Console.WriteLine("table cache " + Config.ClearCacheConfig.FssSearchCacheTableName); Console.WriteLine("connection string " + Config.ClearCacheConfig.CacheStorageConnectionString); //Check caching info var tableCacheCheck = (FssSearchResponseCache)await ClearCacheHelper.RetrieveFromTableStorageAsync <FssSearchResponseCache>(partitionKey, rowKey, Config.ClearCacheConfig.FssSearchCacheTableName, Config.ClearCacheConfig.CacheStorageConnectionString); // Verify the Cache is generated Assert.IsNotNull(tableCacheCheck); Assert.IsNotEmpty(tableCacheCheck.Response); var essCacheJson = JObject.Parse(@"{""Type"":""uk.gov.UKHO.FileShareService.NewFilesPublished.v1""}"); essCacheJson["Source"] = "AcceptanceTest"; essCacheJson["Id"] = "25d6c6c1-418b-40f9-bb76-f6dfc0f133bc"; essCacheJson["Data"] = JObject.FromObject(GetCacheRequestData()); var apiClearCacheResponse = await ExchangeSetApiClient.PostNewFilesPublishedAsync(essCacheJson, accessToken : EssJwtToken); Assert.AreEqual(200, (int)apiClearCacheResponse.StatusCode, $"Incorrect status code is returned for clear cache endpoint {apiClearCacheResponse.StatusCode}, instead of the expected status 200."); //Check caching info tableCacheCheck = (FssSearchResponseCache)await ClearCacheHelper.RetrieveFromTableStorageAsync <FssSearchResponseCache>(partitionKey, rowKey, Config.ClearCacheConfig.FssSearchCacheTableName, Config.ClearCacheConfig.CacheStorageConnectionString); // Verify the No Cache available Assert.IsNull(tableCacheCheck); }
public async Task WhenICallExchangeSetApiWithMultipleProductIdentifiers_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.ExchangeSetCatalogueFile)}"); //Verify Catalog file content var apiScsResponse = await ScsApiClient.GetProductIdentifiersAsync(Config.ExchangeSetProductType, DataHelper.GetProductIdentifiers(), 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>(); FileContentHelper.CheckCatalogueFileContent(Path.Combine(DownloadedFolderPath, Config.ExchangeSetEncRootFolder, Config.ExchangeSetCatalogueFile), apiScsResponseData); }
public async Task WhenICallExchangeSetApiWithAnInValidProductVersion_ThenAProductTxtFileIsGenerated() { bool checkFile = FssBatchHelper.CheckforFileExist(Path.Combine(DownloadedFolderPath, Config.ExchangeSetProductFilePath), Config.ExchangeSetProductFile); Assert.IsTrue(checkFile, $"File not Exist in the specified folder path : {Path.Combine(DownloadedFolderPath, Config.ExchangeSetProductFilePath)}"); //Verify Product.txt file content var apiScsResponse = await ScsApiClient.GetScsCatalogueAsync(Config.ExchangeSetProductType, Config.ExchangeSetCatalogueType, ScsJwtToken); Assert.AreEqual(200, (int)apiScsResponse.StatusCode, $"Incorrect status code is returned {apiScsResponse.StatusCode}, instead of the expected status 200."); var apiResponseDetails = await apiScsResponse.ReadAsStringAsync(); dynamic apiScsResponseData = JsonConvert.DeserializeObject(apiResponseDetails); FileContentHelper.CheckProductFileContent(Path.Combine(DownloadedFolderPath, Config.ExchangeSetProductFilePath, Config.ExchangeSetProductFile), apiScsResponseData); }
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); } } }
public async Task SetupAsync() { Config = new TestConfiguration(); ExchangeSetApiClient = new ExchangeSetApiClient(Config.EssBaseAddress); FssApiClient = new FssApiClient(); AuthTokenProvider authTokenProvider = new AuthTokenProvider(); EssJwtToken = await authTokenProvider.GetEssToken(); FssJwtToken = await authTokenProvider.GetFssToken(); DataHelper = new DataHelper(); ScsApiClient = new SalesCatalogueApiClient(Config.ScsAuthConfig.BaseUrl); ScsJwtToken = await authTokenProvider.GetScsToken(); ApiEssResponse = await ExchangeSetApiClient.GetProductIdentifiersDataAsync(DataHelper.GetProductIdentifiers(), accessToken : EssJwtToken); //Get the BatchId var batchId = await ApiEssResponse.GetBatchId(); CleanUpBatchIdList.Add(batchId); DownloadedFolderPath = await FileContentHelper.CreateExchangeSetFile(ApiEssResponse, FssJwtToken); }
public void WhenICallExchangeSetApiWithAnInValidProductVersion_ThenNoEncFilesAreDownloaded() { //Verify No folder available for the product FileContentHelper.CheckNoEncFilesDownloadedAsync(Path.Combine(DownloadedFolderPath, Config.ExchangeSetEncRootFolder), ProductVersionData[0].ProductName); }
public TemplateTokeniser(FileContentHelper fileContentProcessor, IoHelper ioHelper) { this.fileContentProcessor = fileContentProcessor; this.ioHelper = ioHelper; }