Skip to content

Commit 8c4a8e1

Browse files
committed
Merge pull request #31 from digipost/Version3Fixes
Beta3
2 parents 53e21ec + 1954259 commit 8c4a8e1

File tree

54 files changed

+1470
-1059
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

54 files changed

+1470
-1059
lines changed
Lines changed: 76 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,76 @@
1+
using Digipost.Signature.Api.Client.Core.Exceptions;
2+
using Digipost.Signature.Api.Client.Core.Tests.Stubs;
3+
using Digipost.Signature.Api.Client.Core.Tests.Utilities;
4+
using Microsoft.VisualStudio.TestTools.UnitTesting;
5+
6+
namespace Digipost.Signature.Api.Client.Core.Tests
7+
{
8+
[TestClass]
9+
public class BaseClientTests
10+
{
11+
[TestClass]
12+
public class CurrentSenderMethod : BaseClientTests
13+
{
14+
[TestMethod]
15+
[ExpectedException(typeof (SenderNotSpecifiedException))]
16+
public void ThrowsExceptionOnNoSender()
17+
{
18+
//Arrange
19+
var clientConfiguration = new ClientConfiguration(Environment.DifiQa, CoreDomainUtility.GetPostenTestCertificate());
20+
var client = new ClientStub(clientConfiguration);
21+
22+
//Act
23+
client.GetCurrentSender(null);
24+
25+
//Assert
26+
Assert.Fail();
27+
}
28+
29+
[TestMethod]
30+
public void ReturnsClientClientConfigurationSenderIfOnlySet()
31+
{
32+
//Arrange
33+
var expected = new Sender("000000000");
34+
var clientConfiguration = new ClientConfiguration(Environment.DifiQa, CoreDomainUtility.GetPostenTestCertificate(), expected);
35+
var client = new ClientStub(clientConfiguration);
36+
37+
//Act
38+
var actual = client.GetCurrentSender(null);
39+
40+
//Assert
41+
Assert.AreEqual(expected, actual);
42+
}
43+
44+
[TestMethod]
45+
public void ReturnsJobSenderIfOnlySet()
46+
{
47+
//Arrange
48+
var expected = new Sender("000000000");
49+
var clientConfiguration = new ClientConfiguration(Environment.DifiQa, CoreDomainUtility.GetPostenTestCertificate());
50+
var client = new ClientStub(clientConfiguration);
51+
52+
//Act
53+
var actual = client.GetCurrentSender(expected);
54+
55+
//Assert
56+
Assert.AreEqual(expected, actual);
57+
}
58+
59+
[TestMethod]
60+
public void ReturnsJobSenderIfBothSet()
61+
{
62+
//Arrange
63+
var expected = new Sender("000000000");
64+
var clientConfigurationSender = new Sender("999999999");
65+
var clientConfiguration = new ClientConfiguration(Environment.DifiQa, CoreDomainUtility.GetPostenTestCertificate(), clientConfigurationSender);
66+
var client = new ClientStub(clientConfiguration);
67+
68+
//Act
69+
var actual = client.GetCurrentSender(expected);
70+
71+
//Assert
72+
Assert.AreEqual(expected, actual);
73+
}
74+
}
75+
}
76+
}

Digipost.Signature.Api.Client.Core.Tests/ClientConfigurationTests.cs

Lines changed: 31 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -11,46 +11,64 @@ public class ClientConfigurationTests
1111
public class ConstructorMethod : ClientConfigurationTests
1212
{
1313
[TestMethod]
14-
public void ConstructorWithCertificate()
14+
public void ConstructorWithNoSenderAndCertificateThumbprintExists()
15+
{
16+
//Arrange
17+
18+
//Act
19+
new ClientConfiguration(Environment.DifiQa, GetFirstCertificateFromCurrentUserStore());
20+
21+
//Assert
22+
}
23+
24+
[TestMethod]
25+
public void ConstructorWithCertificateThumbprint()
1526
{
1627
//Arrange
1728
var environment = Environment.DifiQa;
1829
var sender = CoreDomainUtility.GetSender();
19-
var x509Certificate = CoreDomainUtility.GetTestCertificate();
30+
31+
var aCertificateFromCertificateStore = GetFirstCertificateFromCurrentUserStore();
2032

2133
//Act
2234
var clientConfiguration = new ClientConfiguration(
2335
environment,
24-
sender,
25-
x509Certificate
26-
);
36+
aCertificateFromCertificateStore.Thumbprint, sender);
2737

2838
//Assert
2939
Assert.AreEqual(environment, clientConfiguration.Environment);
3040
Assert.AreEqual(sender, clientConfiguration.Sender);
31-
Assert.AreEqual(x509Certificate, clientConfiguration.Certificate);
41+
Assert.AreEqual(aCertificateFromCertificateStore, clientConfiguration.Certificate);
3242
}
3343

3444
[TestMethod]
35-
public void ConstructorWithCertificateThumbprint()
45+
public void ConstructorWithCertificate()
3646
{
3747
//Arrange
3848
var environment = Environment.DifiQa;
3949
var sender = CoreDomainUtility.GetSender();
40-
41-
var aCertificateFromCertificateStore = GetFirstCertificateFromCurrentUserStore();
50+
var x509Certificate = CoreDomainUtility.GetTestCertificate();
4251

4352
//Act
4453
var clientConfiguration = new ClientConfiguration(
4554
environment,
46-
sender,
47-
aCertificateFromCertificateStore.Thumbprint
48-
);
55+
x509Certificate, sender);
4956

5057
//Assert
5158
Assert.AreEqual(environment, clientConfiguration.Environment);
5259
Assert.AreEqual(sender, clientConfiguration.Sender);
53-
Assert.AreEqual(aCertificateFromCertificateStore, clientConfiguration.Certificate);
60+
Assert.AreEqual(x509Certificate, clientConfiguration.Certificate);
61+
}
62+
63+
[TestMethod]
64+
public void ConstructorWithNoSenderAndCertificateExists()
65+
{
66+
//Arrange
67+
68+
//Act
69+
new ClientConfiguration(Environment.DifiQa, new X509Certificate2());
70+
71+
//Assert
5472
}
5573

5674
private static X509Certificate2 GetFirstCertificateFromCurrentUserStore()

Digipost.Signature.Api.Client.Core.Tests/DataTransferObjects/DataTransferObjectConverterTests.cs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22
using System.Linq;
33
using Digipost.Signature.Api.Client.Core.DataTransferObjects;
44
using Digipost.Signature.Api.Client.Core.Tests.Utilities.CompareObjects;
5-
using Digipost.Signature.Api.Client.DataTransferObjects.XsdToCode.Code;
65
using Microsoft.VisualStudio.TestTools.UnitTesting;
76

87
namespace Digipost.Signature.Api.Client.Core.Tests.DataTransferObjects

Digipost.Signature.Api.Client.Core.Tests/Digipost.Signature.Api.Client.Core.Tests.csproj

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,7 @@
8383
</Compile>
8484
<Compile Include="Asice\AsiceSignature\Sha256ReferenceTests.cs" />
8585
<Compile Include="Asice\DocumentBundleTests.cs" />
86+
<Compile Include="BaseClientTests.cs" />
8687
<Compile Include="CancellationReferenceTests.cs" />
8788
<Compile Include="ClientConfigurationTests.cs" />
8889
<Compile Include="ConfirmationReferenceTests.cs" />
@@ -98,6 +99,7 @@
9899
<Compile Include="Fakes\FakeHttpClientHandlerForXadesResponse.cs" />
99100
<Compile Include="Fakes\FakeHttpClientHandlerResponse.cs" />
100101
<Compile Include="Internal\CertificateValidatorTests.cs" />
102+
<Compile Include="Stubs\ClientStub.cs" />
101103
<Compile Include="Properties\AssemblyInfo.log4net.cs" />
102104
<Compile Include="RequestHelperTests.cs" />
103105
<Compile Include="SenderTests.cs" />

Digipost.Signature.Api.Client.Core.Tests/Smoke/SmokeTests.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ protected static Client ClientType
1313
return Client.DifiQa;
1414
}
1515

16-
return Client.DifiTest;
16+
return Client.Localhost;
1717
}
1818
}
1919

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
namespace Digipost.Signature.Api.Client.Core.Tests.Stubs
2+
{
3+
internal class ClientStub : BaseClient
4+
{
5+
public ClientStub(ClientConfiguration clientConfiguration)
6+
: base(clientConfiguration)
7+
{
8+
}
9+
10+
public Sender GetCurrentSender(Sender jobSender)
11+
{
12+
return CurrentSender(jobSender);
13+
}
14+
}
15+
}

Digipost.Signature.Api.Client.Core.Tests/Utilities/CoreDomainUtility.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ public static class CoreDomainUtility
1313

1414
public static ClientConfiguration GetClientConfiguration()
1515
{
16-
return new ClientConfiguration(Environment.DifiQa, GetSender(), GetTestCertificate());
16+
return new ClientConfiguration(Environment.DifiQa, GetTestCertificate(), GetSender());
1717
}
1818

1919
public static Document GetDocument()

Digipost.Signature.Api.Client.Core/Asice/AsiceSignature/SignatureGenerator.cs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,6 @@ private XmlDocument CreateXadesSignatureElement()
7171
signatureDocument.AppendChild(signatureDocument.CreateElement("xades", "XAdESSignatures", NavneromUtility.UriEtsi121));
7272
signatureDocument.DocumentElement.SetAttribute("xmlns", NavneromUtility.UriEtsi132);
7373

74-
//Todo: Legg til foerst
7574
signatureDocument.InsertBefore(xmlDeclaration, signatureDocument.DocumentElement);
7675
return signatureDocument;
7776
}

Digipost.Signature.Api.Client.Core/BaseClient.cs

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
using System.Net.Http;
44
using System.Net.Security;
55
using System.Security.Cryptography.X509Certificates;
6+
using Digipost.Signature.Api.Client.Core.Exceptions;
67
using Digipost.Signature.Api.Client.Core.Internal;
78

89
namespace Digipost.Signature.Api.Client.Core
@@ -34,6 +35,17 @@ internal HttpClient HttpClient
3435

3536
internal RequestHelper RequestHelper { get; set; }
3637

38+
protected Sender CurrentSender(Sender jobSender)
39+
{
40+
var sender = jobSender ?? ClientConfiguration.Sender;
41+
if (sender == null)
42+
{
43+
throw new SenderNotSpecifiedException();
44+
}
45+
46+
return sender;
47+
}
48+
3749
private HttpClient MutualTlsClient()
3850
{
3951
var mutualTlsHandler = MutualTlsHandler();

Digipost.Signature.Api.Client.Core/ClientConfiguration.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,12 @@ namespace Digipost.Signature.Api.Client.Core
66
{
77
public class ClientConfiguration
88
{
9-
public ClientConfiguration(Environment environment, Sender sender, string certificateThumbprint)
10-
: this(environment, sender, CertificateUtility.SenderCertificate(certificateThumbprint, Language.English))
9+
public ClientConfiguration(Environment environment, string certificateThumbprint, Sender sender = null)
10+
: this(environment, CertificateUtility.SenderCertificate(certificateThumbprint, Language.English), sender)
1111
{
1212
}
1313

14-
public ClientConfiguration(Environment environment, Sender sender, X509Certificate2 certificate)
14+
public ClientConfiguration(Environment environment, X509Certificate2 certificate, Sender sender = null)
1515
{
1616
Environment = environment;
1717
Sender = sender;

0 commit comments

Comments
 (0)