public void Setup_NormalCase() { var inputConnectionString = $"DefaultEndpointsProtocol=https;AccountName=foo;AccountKey=dmVyeXZlcnlsb25nYmFzZTY0c3RyaW5ncw==;EndpointSuffix=core.windows.net"; var fixture = new Fixture(); var context = new StorageAccountContext(inputConnectionString, fixture.Logger); Assert.NotNull(context.BlobClient); }
public void Get_Storage_Account_Name() { var expectedAccountName = "foo"; var inputConnectionString = $"DefaultEndpointsProtocol=https;AccountName={expectedAccountName};AccountKey=dmVyeXZlcnlsb25nYmFzZTY0c3RyaW5ncw==;EndpointSuffix=core.windows.net"; var actualAccountName = StorageAccountContext.GetStringAccountName(inputConnectionString); Assert.Equal(expectedAccountName, actualAccountName); }
private static async Task InitProfileImageBlobsAsync(string blobName) { using (var fileStream = File.OpenRead(@"TestData\github.png")) { var settings = ExportProvider.GetExportedValue <Common.Settings.Settings>(); var blobContext = new StorageAccountContext(settings); await blobContext.UploadBlobAsync(blobName, fileStream, CancellationToken.None); } }
public void Setup_WrongConnectionString() { var wrongConnectionString = $"DefaultEndpointsProtocol=https;AccountName=foo;EndpointSuffix=core.windows.net"; var expectedErrorMessage = $"Can not parse ConnectionString {wrongConnectionString}"; var fixture = new Fixture(); var ex = Assert.Throws <ArgumentException>( () => { var context = new StorageAccountContext(wrongConnectionString, fixture.Logger); } ); Assert.Equal(expectedErrorMessage, ex.Message); }
public void Sas_Query_Parameter() { var fixture = new Fixture(); var inputContainerName = "repository"; fixture.SetUpForGetSasQueryParameters(inputContainerName); var context = new StorageAccountContext(fixture.BloBClient, "foo", fixture.Logger); var sasQueryParameter = context.GetSASQueryParameterForWrite(inputContainerName); fixture.VerifyGetSasQueryParameter(); Assert.Equal(fixture.ExpectedSasQueryParameter, sasQueryParameter); // It is ok for 5 minutes 30 min Assert.InRange((DateTimeOffset)fixture.ActualSharedAccessBlobPolicy.SharedAccessExpiryTime, DateTimeOffset.UtcNow.AddMinutes(25), DateTimeOffset.UtcNow.AddMinutes(35)); AssertExtension.Include(fixture.ActualSharedAccessBlobPolicy.Permissions, SharedAccessBlobPermissions.Create); AssertExtension.NotInclude(fixture.ActualSharedAccessBlobPolicy.Permissions, SharedAccessBlobPermissions.Delete); AssertExtension.Include(fixture.ActualSharedAccessBlobPolicy.Permissions, SharedAccessBlobPermissions.Write); AssertExtension.NotInclude(fixture.ActualSharedAccessBlobPolicy.Permissions, SharedAccessBlobPermissions.List); AssertExtension.Include(fixture.ActualSharedAccessBlobPolicy.Permissions, SharedAccessBlobPermissions.Read); AssertExtension.NotInclude(fixture.ActualSharedAccessBlobPolicy.Permissions, SharedAccessBlobPermissions.Add); }
public AppClientApiController(DatabaseContext database, Settings settings, StorageAccountContext storageContext) : base(database) { this.storageContext = storageContext; }