Skip to content

Commit 0724a3f

Browse files
committed
Added tests to pass SonarCloud quality gate
1 parent 927bafd commit 0724a3f

File tree

3 files changed

+86
-3
lines changed

3 files changed

+86
-3
lines changed
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
using System;
2+
using Mastercard.Developer.OAuth1Signer.RestSharp.Authenticators;
3+
using Mastercard.Developer.OAuth1Signer.Tests.Test;
4+
using Microsoft.VisualStudio.TestTools.UnitTesting;
5+
using RestSharp.Portable;
6+
7+
namespace Mastercard.Developer.OAuth1Signer.Tests.Authenticators
8+
{
9+
[TestClass]
10+
public class RestSharpOAuth1AuthenticatorTest
11+
{
12+
[TestMethod]
13+
public void TestPreAuthenticate_ShouldSignRequest()
14+
{
15+
// GIVEN
16+
var signingKey = TestUtils.GetTestPrivateKey();
17+
const string consumerKey = "Some key";
18+
var baseUri = new Uri("https://api.mastercard.com/");
19+
var request = new RestRequest
20+
{
21+
Method = Method.GET,
22+
Resource = "/service"
23+
};
24+
25+
// WHEN
26+
var instanceUnderTest = new RestSharpOAuth1Authenticator(consumerKey, signingKey, baseUri);
27+
var task = instanceUnderTest.PreAuthenticate(null, request, null);
28+
task.Wait();
29+
30+
// THEN
31+
var authorizationHeaders = request.Parameters.Find(ParameterType.HttpHeader, "Authorization");
32+
Assert.AreEqual(1, authorizationHeaders.Count);
33+
}
34+
}
35+
}

Mastercard.Developer.OAuth1Signer.Tests/Signers/NetHttpClientSignerTest.cs

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ namespace Mastercard.Developer.OAuth1Signer.Tests.Signers
1010
public class NetHttpClientSignerTest
1111
{
1212
[TestMethod]
13-
public void TestSign_ShouldAddOAuth1HeaderToRequest()
13+
public void TestSign_ShouldAddOAuth1HeaderToPostRequest()
1414
{
1515
// GIVEN
1616
var signingKey = TestUtils.GetTestPrivateKey();
@@ -29,5 +29,25 @@ public void TestSign_ShouldAddOAuth1HeaderToRequest()
2929
// THEN
3030
Assert.IsNotNull(request.Headers.Authorization);
3131
}
32+
33+
[TestMethod]
34+
public void TestSign_ShouldAddOAuth1HeaderToGetRequest()
35+
{
36+
// GIVEN
37+
var signingKey = TestUtils.GetTestPrivateKey();
38+
const string consumerKey = "Some key";
39+
var request = new HttpRequestMessage
40+
{
41+
Method = HttpMethod.Get,
42+
RequestUri = new Uri("https://api.mastercard.com/service")
43+
};
44+
45+
// WHEN
46+
var instanceUnderTest = new NetHttpClientSigner(consumerKey, signingKey);
47+
instanceUnderTest.Sign(request);
48+
49+
// THEN
50+
Assert.IsNotNull(request.Headers.Authorization);
51+
}
3252
}
3353
}

Mastercard.Developer.OAuth1Signer.Tests/Signers/RestSharpSignerTest.cs

Lines changed: 30 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ namespace Mastercard.Developer.OAuth1Signer.Tests.Signers
1010
public class RestSharpSignerTest
1111
{
1212
[TestMethod]
13-
public void TestSign_ShouldAddOAuth1HeaderToRequest()
13+
public void TestSign_ShouldAddOAuth1HeaderToPostRequest()
1414
{
1515
// GIVEN
1616
var signingKey = TestUtils.GetTestPrivateKey();
@@ -19,7 +19,12 @@ public void TestSign_ShouldAddOAuth1HeaderToRequest()
1919
var request = new RestRequest
2020
{
2121
Method = Method.POST,
22-
Resource = "/service"
22+
Resource = "/service",
23+
Parameters =
24+
{
25+
new Parameter { Type = ParameterType.QueryString, Name = "param1", Value = "with spaces" },
26+
new Parameter { Type = ParameterType.QueryString, Name = "param2", Value = "encoded#symbol" }
27+
}
2328
};
2429
request.AddJsonBody("{\"foo\":\"bår\"}"); // "application/json; charset=utf-8"
2530

@@ -32,5 +37,28 @@ public void TestSign_ShouldAddOAuth1HeaderToRequest()
3237
var authorizationHeaderValue = authorizationHeaders[0].Value as string;
3338
Assert.IsNotNull(authorizationHeaderValue);
3439
}
40+
41+
[TestMethod]
42+
public void TestSign_ShouldAddOAuth1HeaderToGetRequest()
43+
{
44+
// GIVEN
45+
var signingKey = TestUtils.GetTestPrivateKey();
46+
const string consumerKey = "Some key";
47+
var baseUri = new Uri("https://api.mastercard.com/");
48+
var request = new RestRequest
49+
{
50+
Method = Method.GET,
51+
Resource = "/service"
52+
};
53+
54+
// WHEN
55+
var instanceUnderTest = new RestSharpSigner(consumerKey, signingKey);
56+
instanceUnderTest.Sign(baseUri, request);
57+
58+
// THEN
59+
var authorizationHeaders = request.Parameters.Find(ParameterType.HttpHeader, "Authorization");
60+
var authorizationHeaderValue = authorizationHeaders[0].Value as string;
61+
Assert.IsNotNull(authorizationHeaderValue);
62+
}
3563
}
3664
}

0 commit comments

Comments
 (0)