public bool ExecuteCommand(StorageApiClient client) { Log.ToConsole("Sending data, please wait..."); client.UpdateTableAsync(Token, tableId, _fileToUpload, Incremental); Log.ToConsole("Table updated successfully."); return true; }
public bool ExecuteCommand(StorageApiClient client) { Log.ToConsole("Sending data, please wait..."); client.UpdateTableAsync(Token, tableId, _fileToUpload, Incremental); Log.ToConsole("Table updated successfully."); return(true); }
public bool Execute() { try { ToConsole("Command check started", LogLevel.debug); if (CheckCommandLineArguments() == false) { return(false); } StorageApiClient client = _command.PrepareCommand(); ToConsole("Command check finished", LogLevel.debug); if (client != null) { return(_command.ExecuteCommand(client)); } else { ToConsole("Could not prepare command", LogLevel.error); } } catch (Exception ee) { ToConsole(ee.Message, LogLevel.critical); } return(false); }
public void DestroySetup() { StorageApiClient client = new StorageApiClient(token, testRunId); client.DropTable(testTableId); client.DropBucket(testBucketId); FileInfo testFileInfo = new FileInfo(testFilename); File.Delete(testFileInfo.FullName); }
public void SAPIVerifyTokenTest() { StorageApiClient client = new StorageApiClient(token, testRunId); var info = client.VerifyToken(); Assert.That(info, Is.Not.Null); Assert.That(info, Is.InstanceOf(typeof(TokenInfo))); }
public void SAPIListAllBucketsTest() { StorageApiClient client = new StorageApiClient(token, testRunId); var result = client.ListAllBuckets(); CollectionAssert.AllItemsAreNotNull(result); CollectionAssert.AllItemsAreInstancesOfType(result, typeof(Bucket)); }
public void SAPICaseSensitiveTableExistsTest() { StorageApiClient client = new StorageApiClient(token, testRunId); //testTableName string table = client.TableExists(testBucketId, testTableName.ToUpper()); Assert.That(table, Is.Not.Null); }
public void SAPIDropBucketTest_ShouldFailIfNotEmpty() { StorageApiClient client = new StorageApiClient(token, testRunId); //should fail because the bucket is not empty var result = client.DropBucket(testBucketId); Assert.That(result, Is.False); }
public void SAPICheckBucketTest() { StorageApiClient client = new StorageApiClient(token, testRunId); var result = client.CheckBucket(testBucketName, testBucketStage, "MSRCM-Extractor:testing storage api client CheckBucketTest"); //if bucket already exists it should return false otherwise it creates a new bucket and return true Assert.That(result, Is.False); }
public StorageApiClient PrepareCommand() { Log.ToConsole("Destination table id:" + tableId, LogLevel.debug); Log.ToConsole("Is incremental:" + Incremental, LogLevel.debug); //verify source file Log.ToConsole("Verifying filepath.." + filePath, LogLevel.debug); FileInfo file = new FileInfo(filePath); if (file.Exists == false) { Log.ToConsole("filepath " + filePath + "invalid", LogLevel.error); return(null); } Log.ToConsole("compressing file:" + file.FullName, LogLevel.debug); string gzipedPath = file.FullName; if (file.Extension != ".gz") { gzipedPath = Keboola.CSV.Controller.Compress(file); if (gzipedPath == null) { Log.ToConsole("There was an unknown error while compresing file:" + file.FullName, LogLevel.error); return(null); } } else { Log.ToConsole("file already gziped - skipping compression", LogLevel.debug); } _fileToUpload = new FileInfo(gzipedPath); //verify token StorageApiClient client = new StorageApiClient(Token); try { Log.ToConsole("verifying token", LogLevel.debug); var tokenifno = client.VerifyToken(); if (tokenifno == null) { Log.ToConsole("invalid/unknown token", LogLevel.error); return(null); } } catch (Exception ee) { Log.ToConsole("invalid/unknown token:" + ee.Message, LogLevel.error); return(null); } //check destination Log.ToConsole("All data prepared", LogLevel.debug); return(client); }
public void SetupUp() { StorageApiClient client = new StorageApiClient(testToken, testRunId); client.CheckBucket(testBucketName, testBucketStage, "MSRCM-Extractor:testing storage api client CheckBucketTest"); //creates test file FileInfo testFileInfo = new FileInfo(testFilename); System.IO.File.WriteAllLines(testFileInfo.FullName, testFileData); }
public void SAPITableExistsTest() { StorageApiClient client = new StorageApiClient(token, testRunId); var result = client.TableExists(testBucketId, testTableName); Assert.That(result, Is.Not.Null); Assert.That(result, Is.InstanceOf(typeof(string))); Assert.That(result, Is.EqualTo(testTableId)); }
public void SAPIListTableAttributesTest() { StorageApiClient client = new StorageApiClient(token, testRunId); string tableid = testTableId; // "clientSecret" var result = client.ListTableAttributes(tableid); Assert.That(result, Is.Not.Null); Assert.That(result, Is.InstanceOf(typeof(Dictionary <string, string>))); }
public void SAPIGetTableDataTest() { StorageApiClient client = new StorageApiClient(token, testRunId); string tableid = testTableId; // "clientSecret" IEnumerable <SomeTableRow> result = client.GetTableData <SomeTableRow>(tableid); Assert.That(result, Is.Not.Null); CollectionAssert.AllItemsAreNotNull(result); CollectionAssert.AllItemsAreInstancesOfType(result, typeof(SomeTableRow)); Assert.That(result, Is.InstanceOf(typeof(IEnumerable <SomeTableRow>))); }
public void SAPICreateAndUpdateTableAsyncTest() { StorageApiClient client = new StorageApiClient(token, testRunId); string tablename = "asynctable"; string filename = "asyncCreateTest" + ToUnixTimestamp(DateTime.Now) + ".csv"; if (client.TableExists(testBucketId, tablename) != null) { client.DropTable(testBucketId + "." + tablename); } //creates test data to be written into the testfile var data = new StringBuilder("column1,column2,column3\n"); foreach (var i in Enumerable.Range(0, 100)) { data.AppendFormat("{0},{1},{2}\n", i, i, i); } //creates test file FileInfo testFileInfo = new FileInfo(filename); System.IO.File.WriteAllText(testFileInfo.FullName, data.ToString()); var gzipfname = CSV.Controller.Compress(testFileInfo); client.CreateTableFromCsvAsync(testBucketId, token, tablename, new FileInfo(gzipfname), ""); File.Delete(testFileInfo.FullName); File.Delete(gzipfname); //UPDATE TABLE ASYNC filename = "asyncUpdateTest" + ToUnixTimestamp(DateTime.Now) + ".csv"; //creates test data to be written into the testfile data = new StringBuilder("column1,column2,column3\n"); foreach (var i in Enumerable.Range(0, 100)) { data.AppendFormat("c,a,b\n"); } //creates test file testFileInfo = new FileInfo(filename); System.IO.File.WriteAllText(testFileInfo.FullName, data.ToString()); gzipfname = CSV.Controller.Compress(testFileInfo); client.UpdateTableAsync(token, testBucketId + "." + tablename, new FileInfo(gzipfname)); client.DropTable(testBucketId + "." + tablename); File.Delete(testFileInfo.FullName); File.Delete(gzipfname); }
public void SAPICreateAndDropBucketTest() { string newBucketName = DateTime.Now.ToString("yyyy-MM-dd-HH-mm-ss"); string newBucketId = "sys.c-" + newBucketName; StorageApiClient client = new StorageApiClient(token, testRunId); var bucket = client.CreatBucket(token, newBucketName, "sys", "created from SAPICreateAndDropBucketTest test"); Assert.That(bucket, Is.Not.Null); Assert.That(bucket.Id, Is.EqualTo(newBucketId)); var result = client.DropBucket(bucket.Id); Assert.That(result, Is.True); }
public bool ExecuteCommand(StorageApiClient client) { if (client == null) { Log.ToConsole("Instance of the client is invalid"); return(false); } Log.ToConsole("Sending data, please wait..."); client.CreateTableFromCsvAsync(bucketId, Token, name, _fileToUpload, PrimaryKey); Log.ToConsole("Table created successfully."); //REMOVE GZIPED FILE _fileToUpload return(true); }
public bool ExecuteCommand(StorageApiClient client) { if (client == null) { Log.ToConsole("Instance of the client is invalid"); return false; } Log.ToConsole("Sending data, please wait..."); client.CreateTableFromCsvAsync(bucketId, Token, name, _fileToUpload, PrimaryKey); Log.ToConsole("Table created successfully."); //REMOVE GZIPED FILE _fileToUpload return true; }
public void SAPISetAttributeTest() { Random rnd = new Random(); string value = "samplevalue" + rnd.Next(); string key = "testAttribute"; StorageApiClient client = new StorageApiClient(token, testRunId); client.SetTableAttribute(testTableId, key, value); var attributes = client.ListTableAttributes(testTableId); Assert.That(attributes, Is.Not.Null); Assert.That(attributes.ContainsKey(key), Is.True); Assert.That(attributes[key], Is.EqualTo(value)); }
public async Task Remove_ingredients_Should_succeed_without_throwing_exceptions() { var baseUrl = "http://localhost:60479/"; var url = "api/StorageItem"; var orderables = new List <IOrderable>() { new Pizza( "testPizza", 1, new [] { "ost" }, new List <IAddable>() { new Topping("Tomat", 1) }), new Pizza( "testPizza", 1, new [] { "ost" }, new List <IAddable>() { new Topping("Tomat", 1) }), new Drink("Fanta", 1) }; var order = new Order(1, orderables); var Items = new List <StorageItem>() { new StorageItem("Ost") { ItemAmount = 2 }, new StorageItem("Tomat") { ItemAmount = 2 }, new StorageItem("Fanta") { ItemAmount = 1 } }; var jsonString = JsonConvert.SerializeObject(Items); var message = new HttpResponseMessage() { StatusCode = HttpStatusCode.NoContent, Content = new StringContent(jsonString) }; var storageClient = new StorageApiClient(GetDefaultConfiguration(), CreateTestClient(baseUrl, url, message)); await storageClient.RemoveFromStorage(order); }
public void SAPITablesInBucketTest() { StorageApiClient client = new StorageApiClient(token, testRunId); string bucketid = testBucketId; var result = client.TablesInBucket(bucketid); Assert.That(result, Is.Not.Null); Assert.That(result, Is.InstanceOf(typeof(List <TableInfo>))); //testing case insesitivity result = client.TablesInBucket(bucketid.ToUpper()); Assert.That(result, Is.Not.Null); Assert.That(result, Is.InstanceOf(typeof(List <TableInfo>))); }
public void SetupUp() { StorageApiClient client = new StorageApiClient(token, testRunId); client.CheckBucket(testBucketName, testBucketStage, "MSRCM-Extractor:testing storage api client CheckBucketTest"); if (client.TableExists(testBucketId, testTableName) != null) { client.DropTable(testTableId); } //creates test file FileInfo testFileInfo = new FileInfo(testFilename); System.IO.File.WriteAllLines(testFileInfo.FullName, testFileData); client.CreateTableFromCsvAsync(testBucketId, token, testTableName, testFileInfo); }
public void SAPIEmptyBucketTableExistTest() { StorageApiClient client = new StorageApiClient(token, testRunId); Random rnd = new Random(); //create an empty bucketname and assure that bucket does not exist string randomBuckeName = token.Substring(2, 5) + rnd.Next().ToString(); string stage = "in"; string randomBucketId = stage + ".c-" + randomBuckeName; //call tableexist and check the return count is 0 var result = client.TablesInBucket(randomBucketId); CollectionAssert.IsEmpty(result); }
public void SAPICompressCreateUpdateDropTableFromCsvTest() { StorageApiClient client = new StorageApiClient(token, testRunId); string tablename = "CSVTestTable" + DateTime.Now.ToString("yyyy_MM_dd_HH_mm_ss"); string bucketid = testBucketId; string tableId = bucketid + "." + tablename; string csvNewFileName = CreateTableTestCase_GenerateCSV(tablename); //CREATE TABLE FileInfo file1 = new FileInfo(csvNewFileName); CSV.Controller.Compress(file1); client.CreateTableFromCsvAsync(bucketid, token, tablename, new FileInfo(file1.FullName + ".gz")); string createdTableId = client.TableExists(bucketid, tablename); Assert.That(createdTableId, Is.Not.Null); Assert.That(createdTableId, Is.EqualTo(tableId)); File.Delete(csvNewFileName); //UPDATE TABLE string csvUpdateFileName = CreateTableTestCase_GenerateCSV("update" + tablename); FileInfo file2 = new FileInfo(csvUpdateFileName); CSV.Controller.Compress(file2); client.UpdateTableAsync(token, createdTableId, new FileInfo(file2.FullName + ".gz")); string updatedTableId = client.TableExists(bucketid, tablename); Assert.That(updatedTableId, Is.Not.Null); Assert.That(updatedTableId, Is.EqualTo(tableId)); File.Delete(csvUpdateFileName); //DROP TABLE var dropResult = client.DropTable(tableId); Assert.That(dropResult, Is.True); //DELETE FILE 1 File.Delete(file1.FullName); File.Delete(file1.FullName + ".gz"); //DELETE FILE 2 File.Delete(file2.FullName); File.Delete(file2.FullName + ".gz"); }
public async Task Remove_ingredients_Should_throw_HttpRequestException_If_client_returns_unsuccessful_status_code() { var baseUrl = "http://localhost:60479/"; var url = "api/StorageItem"; var orderables = new List <IOrderable>() { new Pizza( "testPizza", 1, new [] { "ost" }, new List <IAddable>() { new Topping("Tomat", 1) }), new Drink("Fanta", 1) }; var order = new Order(1, orderables); var Items = new List <StorageItem>() { new StorageItem("Ost") { ItemAmount = 1 }, new StorageItem("Tomat") { ItemAmount = 1 }, new StorageItem("Fanta") { ItemAmount = 1 } }; var jsonString = JsonConvert.SerializeObject(Items); var message = new HttpResponseMessage() { StatusCode = HttpStatusCode.BadRequest, Content = new StringContent(jsonString) }; var storageClient = new StorageApiClient(GetDefaultConfiguration(), CreateTestClient(baseUrl, url, message)); await Assert.ThrowsExceptionAsync <HttpRequestException>(() => storageClient.RemoveFromStorage(order)); }
public void SAPICaseSensitiveCreateAndCheckBucketTest() { StorageApiClient client = new StorageApiClient(token, testRunId); string caseBucketName = DateTime.Now.ToString("yyyy_MM_dd_HH_mm_ss"); //createbucket Bucket bucket = client.CreatBucket(token, caseBucketName + "CASE", "sys", "MSCRM Extractor test SAPICaseSensitiveTestCreateBucket"); Assert.That(bucket, Is.Not.Null); Assert.That(bucket.Stage, Is.EqualTo("sys")); Assert.That(bucket.Name, Is.EqualTo("c-" + caseBucketName + "CASE")); //checkbucket bool check = client.CheckBucket(caseBucketName + "case", "sys", "MSCRM Extractor test SAPICaseSensitiveTestCreateBucket"); Assert.That(check, Is.False); //returns false if bucket already exists //drop bucket bool isdrop = client.DropBucket(bucket.Id); Assert.That(isdrop, Is.True); }
public void SAPIUploadFileTest() { StorageApiClient client = new StorageApiClient(token, testRunId); string filename = "uploadFileTest" + ToUnixTimestamp(DateTime.Now); //creates test data to be written into the testfile var data = new StringBuilder("column1,column2,column3\n"); foreach (var i in Enumerable.Range(0, 10000)) { data.AppendFormat("{0},{1},{2}\n", i, i, i); } //creates test file FileInfo testFileInfo = new FileInfo(filename); System.IO.File.WriteAllText(testFileInfo.FullName, data.ToString()); var id = client.UploadFile(filename, false, false); Assert.That(id, Is.Not.Null); Assert.That(id, Is.InstanceOf(typeof(string))); }
public void CreateTable() { StorageApiClient client = new StorageApiClient(testToken, testRunId); client.CreateTableFromCsvAsync(testBucketId, testToken, testTableName, new FileInfo(testFilename), ""); }
public void SetupUp() { StorageApiClient client = new StorageApiClient(token, testRunId); client.CheckBucket(testBucketName, testBucketStage, "MSRCM-Extractor:testing storage api client CheckBucketTest"); if (client.TableExists(testBucketId, testTableName) != null) client.DropTable(testTableId); //creates test file FileInfo testFileInfo = new FileInfo(testFilename); System.IO.File.WriteAllLines(testFileInfo.FullName, testFileData); client.CreateTableFromCsvAsync(testBucketId, token, testTableName, testFileInfo); }
public StorageApiClient PrepareCommand() { Log.ToConsole("Destination table id:" + tableId, LogLevel.debug); Log.ToConsole("Is incremental:" + Incremental, LogLevel.debug); //verify source file Log.ToConsole("Verifying filepath.." + filePath, LogLevel.debug); FileInfo file = new FileInfo(filePath); if (file.Exists == false) { Log.ToConsole("filepath " + filePath + "invalid", LogLevel.error); return null; } Log.ToConsole("compressing file:" + file.FullName, LogLevel.debug); string gzipedPath = file.FullName; if (file.Extension != ".gz") { gzipedPath = Keboola.CSV.Controller.Compress(file); if (gzipedPath == null) { Log.ToConsole("There was an unknown error while compresing file:"+ file.FullName, LogLevel.error); return null; } } else { Log.ToConsole("file already gziped - skipping compression", LogLevel.debug); } _fileToUpload = new FileInfo(gzipedPath); //verify token StorageApiClient client = new StorageApiClient(Token); try { Log.ToConsole("verifying token", LogLevel.debug); var tokenifno = client.VerifyToken(); if (tokenifno == null) { Log.ToConsole("invalid/unknown token", LogLevel.error); return null; } } catch (Exception ee) { Log.ToConsole("invalid/unknown token:" + ee.Message, LogLevel.error); return null; } //check destination Log.ToConsole("All data prepared", LogLevel.debug); return client; }
public void SAPICreateAndUpdateTableAsyncTest() { StorageApiClient client = new StorageApiClient(token, testRunId); string tablename = "asynctable"; string filename = "asyncCreateTest"+ ToUnixTimestamp(DateTime.Now)+ ".csv"; if (client.TableExists(testBucketId, tablename) != null) client.DropTable(testBucketId + "." + tablename); //creates test data to be written into the testfile var data = new StringBuilder("column1,column2,column3\n"); foreach (var i in Enumerable.Range(0, 100)) data.AppendFormat("{0},{1},{2}\n", i, i, i); //creates test file FileInfo testFileInfo = new FileInfo(filename); System.IO.File.WriteAllText(testFileInfo.FullName, data.ToString()); var gzipfname = CSV.Controller.Compress(testFileInfo); client.CreateTableFromCsvAsync(testBucketId, token, tablename, new FileInfo(gzipfname), ""); File.Delete(testFileInfo.FullName); File.Delete(gzipfname); //UPDATE TABLE ASYNC filename = "asyncUpdateTest" + ToUnixTimestamp(DateTime.Now) + ".csv"; //creates test data to be written into the testfile data = new StringBuilder("column1,column2,column3\n"); foreach (var i in Enumerable.Range(0, 100)) data.AppendFormat("c,a,b\n"); //creates test file testFileInfo = new FileInfo(filename); System.IO.File.WriteAllText(testFileInfo.FullName, data.ToString()); gzipfname = CSV.Controller.Compress(testFileInfo); client.UpdateTableAsync(token, testBucketId + "." + tablename, new FileInfo(gzipfname)); client.DropTable(testBucketId + "." + tablename); File.Delete(testFileInfo.FullName); File.Delete(gzipfname); }
public void SAPIGetTableDataTest() { StorageApiClient client = new StorageApiClient(token, testRunId); string tableid = testTableId; // "clientSecret" IEnumerable<SomeTableRow> result = client.GetTableData<SomeTableRow>(tableid); Assert.That(result, Is.Not.Null); CollectionAssert.AllItemsAreNotNull(result); CollectionAssert.AllItemsAreInstancesOfType(result, typeof(SomeTableRow)); Assert.That(result, Is.InstanceOf(typeof(IEnumerable<SomeTableRow>))); }
public bool ExecuteCommand(StorageApiClient client) { return(true); }
public bool ExecuteCommand(StorageApiClient client) { return true; }
public void SAPITablesInBucketTest() { StorageApiClient client = new StorageApiClient(token, testRunId); string bucketid = testBucketId; var result = client.TablesInBucket(bucketid); Assert.That(result, Is.Not.Null); Assert.That(result, Is.InstanceOf(typeof(List<TableInfo>))); //testing case insesitivity result = client.TablesInBucket(bucketid.ToUpper()); Assert.That(result, Is.Not.Null); Assert.That(result, Is.InstanceOf(typeof(List<TableInfo>))); }
public void SAPIUploadFileTest() { StorageApiClient client = new StorageApiClient(token, testRunId); string filename = "uploadFileTest"+ ToUnixTimestamp(DateTime.Now); //creates test data to be written into the testfile var data = new StringBuilder("column1,column2,column3\n"); foreach (var i in Enumerable.Range(0, 10000)) data.AppendFormat("{0},{1},{2}\n", i, i, i); //creates test file FileInfo testFileInfo = new FileInfo(filename); System.IO.File.WriteAllText(testFileInfo.FullName, data.ToString()); var id = client.UploadFile(filename, false, false); Assert.That(id, Is.Not.Null); Assert.That(id, Is.InstanceOf(typeof(string))); }
public void SAPIListTableAttributesTest() { StorageApiClient client = new StorageApiClient(token, testRunId); string tableid = testTableId; // "clientSecret" var result = client.ListTableAttributes(tableid); Assert.That(result, Is.Not.Null); Assert.That(result, Is.InstanceOf(typeof(Dictionary<string, string>))); }