Skip to content

Commit eb5a2c1

Browse files
committed
Merge branch 'release/0.5.0'
2 parents 438f7d7 + 4396c63 commit eb5a2c1

File tree

54 files changed

+1166
-263
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

+1166
-263
lines changed
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
namespace Cake.AzureDevOps
2+
{
3+
using System;
4+
using Cake.AzureDevOps.Authentication;
5+
6+
public class BaseAzureDevOpsCollectionSettingsImpl : BaseAzureDevOpsCollectionSettings
7+
{
8+
public BaseAzureDevOpsCollectionSettingsImpl(Uri collectionUrl, IAzureDevOpsCredentials credentials)
9+
: base(collectionUrl, credentials)
10+
{
11+
}
12+
13+
public BaseAzureDevOpsCollectionSettingsImpl(BaseAzureDevOpsCollectionSettings settings)
14+
: base(settings)
15+
{
16+
}
17+
18+
public BaseAzureDevOpsCollectionSettingsImpl(IAzureDevOpsCredentials credentials)
19+
: base(credentials)
20+
{
21+
}
22+
}
23+
}
Lines changed: 216 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,216 @@
1+
namespace Cake.AzureDevOps.Tests
2+
{
3+
using System;
4+
using Cake.AzureDevOps.Authentication;
5+
using Shouldly;
6+
using Xunit;
7+
8+
public sealed class BaseAzureDevOpsCollectionSettingsTests
9+
{
10+
public sealed class TheCtor
11+
{
12+
public sealed class WithCollectionUrlAndCredentialsParameter
13+
{
14+
[Fact]
15+
public void Should_Throw_If_CollectionUrl_Is_Null()
16+
{
17+
// Given
18+
Uri collectionUrl = null;
19+
var credentials = AuthenticationProvider.AuthenticationNtlm();
20+
21+
// When
22+
var result = Record.Exception(() => new BaseAzureDevOpsCollectionSettingsImpl(collectionUrl, credentials));
23+
24+
// Then
25+
result.IsArgumentNullException("collectionUrl");
26+
}
27+
28+
[Fact]
29+
public void Should_Throw_If_Credentials_Are_Null()
30+
{
31+
// Given
32+
var collectionUrl = new Uri("http://example.com/collection");
33+
IAzureDevOpsCredentials credentials = null;
34+
35+
// When
36+
var result = Record.Exception(() => new BaseAzureDevOpsCollectionSettingsImpl(collectionUrl, credentials));
37+
38+
// Then
39+
result.IsArgumentNullException("credentials");
40+
}
41+
42+
[Fact]
43+
public void Should_Set_Credentials()
44+
{
45+
// Given
46+
var collectionUrl = new Uri("http://example.com/collection");
47+
var credentials = AuthenticationProvider.AuthenticationNtlm();
48+
49+
// When
50+
var result = new BaseAzureDevOpsCollectionSettingsImpl(collectionUrl, credentials);
51+
52+
// Then
53+
result.Credentials.ShouldBe(credentials);
54+
}
55+
56+
[Fact]
57+
public void Should_Set_Collection_Url()
58+
{
59+
// Given
60+
var collectionUrl = new Uri("http://example.com/collection");
61+
var credentials = AuthenticationProvider.AuthenticationNtlm();
62+
63+
// When
64+
var result = new BaseAzureDevOpsCollectionSettingsImpl(collectionUrl, credentials);
65+
66+
// Then
67+
result.CollectionUrl.ShouldBe(collectionUrl);
68+
}
69+
}
70+
71+
public sealed class WithSettingsParameter
72+
{
73+
[Fact]
74+
public void Should_Throw_If_Settings_Are_Null()
75+
{
76+
// Given
77+
BaseAzureDevOpsCollectionSettingsImpl settings = null;
78+
79+
// When
80+
var result = Record.Exception(() => new BaseAzureDevOpsCollectionSettingsImpl(settings));
81+
82+
// Then
83+
result.IsArgumentNullException("settings");
84+
}
85+
86+
[Fact]
87+
public void Should_Set_Credentials()
88+
{
89+
// Given
90+
var collectionUrl = new Uri("http://example.com/collection");
91+
var credentials = AuthenticationProvider.AuthenticationNtlm();
92+
var settings = new BaseAzureDevOpsCollectionSettingsImpl(collectionUrl, credentials);
93+
94+
// When
95+
var result = new BaseAzureDevOpsCollectionSettingsImpl(settings);
96+
97+
// Then
98+
result.Credentials.ShouldBe(credentials);
99+
}
100+
101+
[Fact]
102+
public void Should_Set_CollectionUrl()
103+
{
104+
// Given
105+
var collectionUrl = new Uri("http://example.com/collection");
106+
var credentials = AuthenticationProvider.AuthenticationNtlm();
107+
var settings = new BaseAzureDevOpsCollectionSettingsImpl(collectionUrl, credentials);
108+
109+
// When
110+
var result = new BaseAzureDevOpsCollectionSettingsImpl(settings);
111+
112+
// Then
113+
result.CollectionUrl.ShouldBe(collectionUrl);
114+
}
115+
}
116+
117+
public sealed class WithCredentialsParameter : IDisposable
118+
{
119+
private readonly string originalCollectionUrl;
120+
121+
public WithCredentialsParameter()
122+
{
123+
this.originalCollectionUrl = Environment.GetEnvironmentVariable("SYSTEM_TEAMFOUNDATIONCOLLECTIONURI");
124+
}
125+
126+
[Fact]
127+
public void Should_Throw_If_Credentials_Are_Null()
128+
{
129+
// Given
130+
IAzureDevOpsCredentials credentials = null;
131+
132+
// When
133+
var result = Record.Exception(() => new BaseAzureDevOpsCollectionSettingsImpl(credentials));
134+
135+
// Then
136+
result.IsArgumentNullException("credentials");
137+
}
138+
139+
[Fact]
140+
public void Should_Throw_If_Collection_Url_Env_Var_Is_Not_Set()
141+
{
142+
// Given
143+
var credentials = new AzureDevOpsNtlmCredentials();
144+
Environment.SetEnvironmentVariable("SYSTEM_TEAMFOUNDATIONCOLLECTIONURI", null);
145+
146+
// When
147+
var result = Record.Exception(() => new BaseAzureDevOpsCollectionSettingsImpl(credentials));
148+
149+
// Then
150+
result.IsInvalidOperationException();
151+
}
152+
153+
[Fact]
154+
public void Should_Throw_If_Collection_Url_Env_Var_Is_Empty()
155+
{
156+
// Given
157+
var credentials = new AzureDevOpsNtlmCredentials();
158+
Environment.SetEnvironmentVariable("SYSTEM_TEAMFOUNDATIONCOLLECTIONURI", string.Empty);
159+
160+
// When
161+
var result = Record.Exception(() => new BaseAzureDevOpsCollectionSettingsImpl(credentials));
162+
163+
// Then
164+
result.IsInvalidOperationException();
165+
}
166+
167+
[Fact]
168+
public void Should_Throw_If_Collection_Url_Env_Var_Is_WhiteSpace()
169+
{
170+
// Given
171+
var credentials = new AzureDevOpsNtlmCredentials();
172+
Environment.SetEnvironmentVariable("SYSTEM_TEAMFOUNDATIONCOLLECTIONURI", " ");
173+
174+
// When
175+
var result = Record.Exception(() => new BaseAzureDevOpsCollectionSettingsImpl(credentials));
176+
177+
// Then
178+
result.IsInvalidOperationException();
179+
}
180+
181+
[Fact]
182+
public void Should_Set_Credentials()
183+
{
184+
// Given
185+
var credentials = new AzureDevOpsNtlmCredentials();
186+
Environment.SetEnvironmentVariable("SYSTEM_TEAMFOUNDATIONCOLLECTIONURI", "https://example.com/collection");
187+
188+
// When
189+
var settings = new BaseAzureDevOpsCollectionSettingsImpl(credentials);
190+
191+
// Then
192+
settings.Credentials.ShouldBe(credentials);
193+
}
194+
195+
[Fact]
196+
public void Should_Set_Collection_Url()
197+
{
198+
// Given
199+
var credentials = new AzureDevOpsNtlmCredentials();
200+
Environment.SetEnvironmentVariable("SYSTEM_TEAMFOUNDATIONCOLLECTIONURI", "https://example.com/collection");
201+
202+
// When
203+
var settings = new BaseAzureDevOpsCollectionSettingsImpl(credentials);
204+
205+
// Then
206+
settings.CollectionUrl.ToString().ShouldBe(new Uri("https://example.com/collection").ToString());
207+
}
208+
209+
public void Dispose()
210+
{
211+
Environment.SetEnvironmentVariable("SYSTEM_TEAMFOUNDATIONCOLLECTIONURI", this.originalCollectionUrl);
212+
}
213+
}
214+
}
215+
}
216+
}
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
namespace Cake.AzureDevOps.Tests
2+
{
3+
using Cake.AzureDevOps.Authentication;
4+
5+
public class BaseAzureDevOpsCredentialsSettingsImpl : BaseAzureDevOpsCredentialsSettings
6+
{
7+
public BaseAzureDevOpsCredentialsSettingsImpl(IAzureDevOpsCredentials credentials)
8+
: base(credentials)
9+
{
10+
}
11+
12+
public BaseAzureDevOpsCredentialsSettingsImpl(BaseAzureDevOpsCredentialsSettingsImpl settings)
13+
: base(settings)
14+
{
15+
}
16+
}
17+
}
Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,71 @@
1+
namespace Cake.AzureDevOps.Tests
2+
{
3+
using Cake.AzureDevOps.Authentication;
4+
using Shouldly;
5+
using Xunit;
6+
7+
public sealed class BaseAzureDevOpsCredentialsSettingsTests
8+
{
9+
public sealed class TheCtor
10+
{
11+
public sealed class WithCredentialsParameter
12+
{
13+
[Fact]
14+
public void Should_Throw_If_Credentials_Are_Null()
15+
{
16+
// Given
17+
IAzureDevOpsCredentials credentials = null;
18+
19+
// When
20+
var result = Record.Exception(() => new BaseAzureDevOpsCredentialsSettingsImpl(credentials));
21+
22+
// Then
23+
result.IsArgumentNullException("credentials");
24+
}
25+
26+
[Fact]
27+
public void Should_Set_Credentials()
28+
{
29+
// Given
30+
var credentials = AuthenticationProvider.AuthenticationNtlm();
31+
32+
// When
33+
var result = new BaseAzureDevOpsCredentialsSettingsImpl(credentials);
34+
35+
// Then
36+
result.Credentials.ShouldBe(credentials);
37+
}
38+
}
39+
40+
public sealed class WithSettingsParameter
41+
{
42+
[Fact]
43+
public void Should_Throw_If_Settings_Are_Null()
44+
{
45+
// Given
46+
BaseAzureDevOpsCredentialsSettingsImpl settings = null;
47+
48+
// When
49+
var result = Record.Exception(() => new BaseAzureDevOpsCredentialsSettingsImpl(settings));
50+
51+
// Then
52+
result.IsArgumentNullException("settings");
53+
}
54+
55+
[Fact]
56+
public void Should_Set_Credentials()
57+
{
58+
// Given
59+
var credentials = AuthenticationProvider.AuthenticationNtlm();
60+
var settings = new BaseAzureDevOpsCredentialsSettingsImpl(credentials);
61+
62+
// When
63+
var result = new BaseAzureDevOpsCredentialsSettingsImpl(settings);
64+
65+
// Then
66+
result.Credentials.ShouldBe(credentials);
67+
}
68+
}
69+
}
70+
}
71+
}
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
namespace Cake.AzureDevOps
2+
{
3+
using System;
4+
using Cake.AzureDevOps.Authentication;
5+
6+
public class BaseAzureDevOpsProjectSettingsImpl : BaseAzureDevOpsProjectSettings
7+
{
8+
public BaseAzureDevOpsProjectSettingsImpl(Uri collectionUrl, Guid projectGuid, IAzureDevOpsCredentials credentials)
9+
: base(collectionUrl, projectGuid, credentials)
10+
{
11+
}
12+
13+
public BaseAzureDevOpsProjectSettingsImpl(Uri collectionUrl, string projectName, IAzureDevOpsCredentials credentials)
14+
: base(collectionUrl, projectName, credentials)
15+
{
16+
}
17+
18+
public BaseAzureDevOpsProjectSettingsImpl(BaseAzureDevOpsProjectSettings settings)
19+
: base(settings)
20+
{
21+
}
22+
23+
public BaseAzureDevOpsProjectSettingsImpl(IAzureDevOpsCredentials credentials)
24+
: base(credentials)
25+
{
26+
}
27+
}
28+
}

0 commit comments

Comments
 (0)