public void Can_Be_Constructed() { //Arrange //Act var connection = new BlobConnection(Mock.Of <IStorageConnectionManager <CloudBlobClient> >()); //Assert Assert.That(connection, Is.Not.Null); }
public void Transaction_Id_Cannot_Be_Empty() { //Arrange var connection = new BlobConnection(Mock.Of <IStorageConnectionManager <CloudBlobClient> >()); //Act async Task <CloudBlobContainer> TestDelegate() => await connection.GetObjectAsync(Guid.Empty); //Assert Assert.That(TestDelegate, Throws.ArgumentException.With.Message.EqualTo("Id cannot be Empty")); }
public async Task Can_Get_Container() { //Arrange _mockManager.Setup(x => x.GetStorageClient()).Returns(Task.FromResult(_mockClient.Object)); _mockClient.Setup(x => x.GetContainerReference(It.IsAny <string>())).Returns(_mockContainer.Object); _mockContainer.Setup(x => x.CreateIfNotExistsAsync()).Returns(Task.FromResult(true)); var connection = new BlobConnection(_mockManager.Object); //Act var result = await connection.GetObjectAsync(Guid.NewGuid()); //Assert Assert.That(result, Is.EqualTo(_mockContainer.Object)); }
public void Can_Remove_Container() { //Arrange _mockManager.Setup(x => x.GetStorageClient()).Returns(Task.FromResult(_mockClient.Object)); _mockClient.Setup(x => x.GetContainerReference(It.IsAny <string>())).Returns(_mockContainer.Object); _mockContainer.Setup(x => x.DeleteIfExistsAsync()).Returns(Task.FromResult(true)); var connection = new BlobConnection(_mockManager.Object); //Act async Task TestDelegate() => await connection.RemoveObjectAsync(Guid.NewGuid()); //Assert Assert.That(TestDelegate, Throws.Nothing); }
public void Exception_Thrown_In_Connection_Manager_Will_Bubble_Up() { //Arrange const string exceptionMessage = "Test Exception"; _mockManager.Setup(x => x.GetStorageClient()) .Throws(new Exception(exceptionMessage)); var connection = new BlobConnection(_mockManager.Object); //Act async Task <CloudBlobContainer> TestDelegate() => await connection.GetObjectAsync(Guid.NewGuid()); //Assert Assert.That(TestDelegate, Throws.Exception.With.Message.EqualTo(exceptionMessage)); }
public void Exception_Thrown_In_Cloud_Blob_Container_Will_Bubble_Up() { //Arrange const string exceptionMessage = "Test Exception"; _mockManager.Setup(x => x.GetStorageClient()).Returns(Task.FromResult(_mockClient.Object)); _mockClient.Setup(x => x.GetContainerReference(It.IsAny <string>())).Returns(_mockContainer.Object); _mockContainer.Setup(x => x.DeleteIfExistsAsync()).Throws(new Exception(exceptionMessage)); var connection = new BlobConnection(_mockManager.Object); //Act async Task TestDelegate() => await connection.RemoveObjectAsync(Guid.NewGuid()); //Assert Assert.That(TestDelegate, Throws.Exception.With.Message.EqualTo(exceptionMessage)); }
public ModelController(IConfiguration configuration) { _configuration = configuration; _context = new MLContext(); var modelPath = System.IO.Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments), "wine.zip"); if (!System.IO.File.Exists(modelPath)) { var blob = BlobConnection.GetBlobReference(_configuration["blobConnectionString"], "models", "wine.zip"); blob.DownloadToFileAsync(modelPath, System.IO.FileMode.CreateNew).RunSynchronously(); } using (var stream = System.IO.File.OpenRead(modelPath)) { _model = _context.Model.Load(stream); } }
static async Task Main(string[] args) { var builder = new ConfigurationBuilder() .SetBasePath(Directory.GetCurrentDirectory()) .AddJsonFile("config.json"); var configuration = builder.Build(); _sqlConnectionString = configuration["connectionString"]; var fileData = ReadFromFile("./winequality.csv"); AddDataToDatabase(fileData); var dbData = ReadFromDatabase(); var context = new MLContext(); var mlData = context.Data.LoadFromEnumerable(dbData); var trainTestData = context.Regression.TrainTestSplit(mlData, testFraction: 0.2); var dataPreview = trainTestData.TrainSet.Preview(); var pipeline = context.Transforms.Categorical.OneHotEncoding("TypeOneHot", "Type") .Append(context.Transforms.Concatenate("Features", "FixedAcidity", "VolatileAcidity", "CitricAcid", "ResidualSugar", "Chlorides", "FreeSulfurDioxide", "TotalSulfurDioxide", "Density", "Ph", "Sulphates", "Alcohol")) .Append(context.Transforms.CopyColumns(("Label", "Quality"))) .Append(context.Regression.Trainers.FastTree()); var model = pipeline.Fit(trainTestData.TrainSet); var blob = BlobConnection.GetBlobReference(configuration["blobConnectionString"], "models", fileName); using (var stream = File.Create(fileName)) { context.Model.Save(model, stream); } await blob.UploadFromFileAsync(fileName); }