Skip to content
Snippets Groups Projects
Commit 26d26e84 authored by Klaus Fischer's avatar Klaus Fischer
Browse files

Resolved annotations from review

parent c8f4ef8c
No related branches found
No related tags found
1 merge request!4Feature/563 check callback
...@@ -234,7 +234,7 @@ public class Subscriber : FitConnectClient, ...@@ -234,7 +234,7 @@ public class Subscriber : FitConnectClient,
var result = VerifyCallback(callbackSecret, timestamp, content); var result = VerifyCallback(callbackSecret, timestamp, content);
if (result != authentication) if (result != authentication)
throw new ArgumentException("Request is not authentic"); throw new ArgumentException("Verified request does not match authentication");
return true; return true;
} }
} }
......
...@@ -17,7 +17,7 @@ namespace IntegrationTests; ...@@ -17,7 +17,7 @@ namespace IntegrationTests;
[TestFixture] [TestFixture]
public class CallbackTest { public class CallbackTest {
private HttpRequest Request; private HttpRequest _request = null!;
private string _callbackSecret = ""; private string _callbackSecret = "";
[SetUp] [SetUp]
...@@ -30,10 +30,6 @@ public class CallbackTest { ...@@ -30,10 +30,6 @@ public class CallbackTest {
streamWriter.Flush(); streamWriter.Flush();
memoryStream.Position = 0; memoryStream.Position = 0;
// Request = new DefaultHttpRequest(new DefaultHttpContext()) {
// Body = new StreamBody(memoryStream)
// };
var headers = new HeaderDictionary(new Dictionary<string, StringValues>() { var headers = new HeaderDictionary(new Dictionary<string, StringValues>() {
{ "callback-timestamp", "1672527599" }, { { "callback-timestamp", "1672527599" }, {
"callback-authentication", "callback-authentication",
...@@ -49,7 +45,7 @@ public class CallbackTest { ...@@ -49,7 +45,7 @@ public class CallbackTest {
mock.Setup(w => w.Method).Returns("POST"); mock.Setup(w => w.Method).Returns("POST");
mock.Setup(w => w.Body).Returns(memoryStream); mock.Setup(w => w.Body).Returns(memoryStream);
Request = mock.Object; _request = mock.Object;
_callbackSecret = MockContainer.Container.Create().Resolve<MockSettings>().CallbackSecret; _callbackSecret = MockContainer.Container.Create().Resolve<MockSettings>().CallbackSecret;
} }
...@@ -72,18 +68,18 @@ public class CallbackTest { ...@@ -72,18 +68,18 @@ public class CallbackTest {
[Test] [Test]
public void ValidRequest() { public void ValidRequest() {
// Assert // Assert
FitConnect.Subscriber.VerifyCallback(_callbackSecret, Request).Should().Be(true); FitConnect.Subscriber.VerifyCallback(_callbackSecret, _request).Should().Be(true);
} }
[Test] [Test]
public void RequestAge_Fails() { public void RequestAge_Fails() {
// Arrange // Arrange
Request.Headers["callback-timestamp"] = "1641066653"; _request.Headers["callback-timestamp"] = "1641066653";
// Atc // Atc
// Assert // Assert
Assert.Throws<ArgumentException>(() => { Assert.Throws<ArgumentException>(() => {
FitConnect.Subscriber.VerifyCallback(_callbackSecret, Request); FitConnect.Subscriber.VerifyCallback(_callbackSecret, _request);
}) })
.Message.Should().Be("Request is too old"); .Message.Should().Be("Request is too old");
} }
...@@ -91,13 +87,13 @@ public class CallbackTest { ...@@ -91,13 +87,13 @@ public class CallbackTest {
[Test] [Test]
public void RequestAuthentication_Fails() { public void RequestAuthentication_Fails() {
// Arrange // Arrange
Request.Headers["callback-authentication"] = _request.Headers["callback-authentication"] =
"898cd0edb70c08e5b32aa8a18cbbc8ff6b3078c51af6d011ff4e32e470c746234fc4314821fe5185264b029e962bd37de33f3b9fc5f1a93c40ce6672845e90df"; "898cd0edb70c08e5b32aa8a18cbbc8ff6b3078c51af6d011ff4e32e470c746234fc4314821fe5185264b029e962bd37de33f3b9fc5f1a93c40ce6672845e90df";
// Atc // Atc
// Assert // Assert
Assert.Throws<ArgumentException>(() => { Assert.Throws<ArgumentException>(() => {
FitConnect.Subscriber.VerifyCallback(_callbackSecret, Request); FitConnect.Subscriber.VerifyCallback(_callbackSecret, _request);
}) })
.Message.Should().Be("Request is not authentic"); .Message.Should().Be("Request is not authentic");
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment