[InlineData("http://localhost/RetrieveBlob?containerName=testcontainer&path=testpath&expirationTime=20300722173059&hashKeyName=key1", false)] //no hashCode, should just return false, not throw public void ValidateUriTest(string uriString, bool isValid) { var fixture = new HashCalculatorTestFixture(); var currentDateTime = new DateTime(2020, 7, 22, 12, 30, 59, 5); fixture.TestDateTimeServiceProvider.SetCurrentDateTimeUTC(currentDateTime); var uriToValidate = new Uri(uriString); var valid = fixture.HashCalculator.IsValidUri(uriToValidate); valid.Should().Be(isValid); }
public void CalculateUriToHashNoParametersTest() { var fixture = new HashCalculatorTestFixture(); var uri = new Uri("http://localhost/RetrieveBlob"); var currentDateTime = fixture.TestDateTimeServiceProvider.CurrentDateTimeUTC; var uriToHash = fixture.HashCalculator.CalculateUriToHash(uri, TimeSpan.FromHours(5)); var expectedUri = new Uri(uri.ToString() + $"?expirationTime={currentDateTime.AddHours(5):yyyyMMddHHmmss}&hashKeyName=key1"); uriToHash.Uri.Should().Be(expectedUri); }
public void ExpiredUriTest() { var fixture = new HashCalculatorTestFixture(); var currentDateTime = new DateTime(2020, 7, 22, 17, 31, 1, 0); fixture.TestDateTimeServiceProvider.SetCurrentDateTimeUTC(currentDateTime); var uriToValidate = new Uri("http://localhost/RetrieveBlob?containerName=testcontainer&path=testpath&expirationTime=20200722173100&hashKeyName=key1&hashCode=Bdovm71WPeAcxwPhCQnbZCC/1K0="); var valid = fixture.HashCalculator.IsValidUri(uriToValidate); valid.Should().Be(false); }
public void CalculateHashedUriTest() { var fixture = new HashCalculatorTestFixture(); var currentDateTime = new DateTime(2020, 7, 22, 12, 30, 59, 5); fixture.TestDateTimeServiceProvider.SetCurrentDateTimeUTC(currentDateTime); var uri = new Uri("http://localhost/RetrieveBlob?containerName=testcontainer&path=testpath"); var uriWithHash = fixture.HashCalculator.CalculateUriWithHash(uri, TimeSpan.FromHours(5)); var expectedUri = new Uri(uri.ToString() + "&expirationTime=20200722173059&hashKeyName=key1&hashCode=PNd18qkQSAmWp5ZVpAnH3tUxSZY="); uriWithHash.Should().Be(expectedUri); }