public void GenerateSignature_Throws_If_Disposed() { using (var generator = new LatitudePayHMACSHA256SignatureGenerator("1y02Nwqzj1FbznAw")) { generator.Dispose(); generator.GenerateSignature("{ test: \"testvalue\" }"); } }
public void Generates_Null_Signature_For_Null_Input() { string jsonPayload = null; using (var generator = new LatitudePayHMACSHA256SignatureGenerator("1y02Nwqzj1FbznAw")) { Assert.IsNull(generator.GenerateSignature(jsonPayload)); } }
public void Constructor_Throws_If_ApiKey_Is_Whitespace() { using (var generator = new LatitudePayHMACSHA256SignatureGenerator(" \r\n\t")) { } }
public void Constructor_Throws_If_ApiKey_Empty() { using (var generator = new LatitudePayHMACSHA256SignatureGenerator(String.Empty)) { } }
public void Constructor_Throws_If_ApiKey_Null() { using (var generator = new LatitudePayHMACSHA256SignatureGenerator(null)) { } }
public void Disposes_Ok() { using (var generator = new LatitudePayHMACSHA256SignatureGenerator("1y02Nwqzj1FbznAw")) { } }
public void Generates_Expected_Signature() { //This test uses the sample/test data (including secret) from //https://s3-ap-southeast-2.amazonaws.com/genoapay-public-assets/Online+API+Signing+Mechanisms.pdf #region Test Data var jsonPayload = @"{ ""customer"": { ""mobileNumber"": ""02222222620"", ""firstName"": ""John"", ""surname"": ""Doe"", ""email"": ""*****@*****.**"", ""address"": { ""addressLine1"": ""124 Fifth Avenue"", ""suburb"": ""Hobsonville"", ""cityTown"": ""Auckland"", ""state"": ""Auckland"", ""postcode"": ""0618"", ""countryCode"": ""NZ"" }, ""dateOfBirth"": ""1987-10-17"" }, ""shippingAddress"": { ""addressLine1"": ""Unit F, 16 Workday Drive"", ""suburb"": ""Albany"", ""cityTown"": ""Auckland"", ""state"": ""Auckland"", ""postcode"": ""0751"", ""countryCode"": ""NZ"" }, ""billingAddress"": { ""addressLine1"": ""124 Fifth Avenue"", ""suburb"": ""Hobsonville"", ""cityTown"": ""Auckland"", ""state"": ""Auckland"", ""postcode"": ""0618"", ""countryCode"": ""NZ"" }, ""products"": [ { ""name"": ""Tennis Ball Multipack"", ""price"": { ""amount"": 30, ""currency"": ""NZD"" }, ""sku"": ""abc123"", ""quantity"": 1, ""taxIncluded"": true } ], ""shippingLines"": [ { ""carrier"": ""NZ Post"", ""price"": { ""amount"": 5.50, ""currency"": ""NZD"" } } ], ""taxAmount"": { ""amount"": 5.325, ""currency"": ""NZD"" }, ""reference"": ""INV000045"", ""totalAmount"": { ""amount"": 35.5, ""currency"": ""NZD"" }, ""returnUrls"": { ""successUrl"": ""http://genoapay.com/success"", ""failUrl"": ""http://.genoapay.com/fail"", ""callbackUrl"": ""http://genoapay.com/fail-safe-callback"" } }"; #endregion using (var generator = new LatitudePayHMACSHA256SignatureGenerator("1y02Nwqzj1FbznAw")) { Assert.AreEqual("81ddf72b57031a0b956cc368edac0fcd51d6669a4a0b82cd7aeb3b17e2712389", generator.GenerateSignature(jsonPayload)); } }