@@ -839,6 +839,40 @@ public void Should_Throw_If_Build_Id_Env_Var_Is_Not_Set()
839
839
result . IsInvalidOperationException ( ) ;
840
840
}
841
841
842
+ [ Fact ]
843
+ public void Should_Throw_If_Build_Id_Env_Var_Is_Set_But_Ctor_Build_Id_Value_Zero ( )
844
+ {
845
+ // Given
846
+ var creds = new AzureDevOpsNtlmCredentials ( ) ;
847
+ Environment . SetEnvironmentVariable ( "SYSTEM_TEAMFOUNDATIONCOLLECTIONURI" , "https://example.com/collection" ) ;
848
+ Environment . SetEnvironmentVariable ( "SYSTEM_TEAMPROJECT" , "MyProject" ) ;
849
+ Environment . SetEnvironmentVariable ( "BUILD_BUILDID" , "20" ) ;
850
+ Environment . SetEnvironmentVariable ( "SYSTEM_ACCESSTOKEN" , "foo" ) ;
851
+
852
+ // When
853
+ var result = Record . Exception ( ( ) => new AzureDevOpsBuildSettings ( 0 , creds ) ) ;
854
+
855
+ // Then
856
+ result . IsArgumentOutOfRangeException ( "buildId" ) ;
857
+ }
858
+
859
+ [ Fact ]
860
+ public void Should_Throw_If_Build_Id_Env_Var_Is_Set_But_Ctor_Build_Id_Value_Negative ( )
861
+ {
862
+ // Given
863
+ var creds = new AzureDevOpsNtlmCredentials ( ) ;
864
+ Environment . SetEnvironmentVariable ( "SYSTEM_TEAMFOUNDATIONCOLLECTIONURI" , "https://example.com/collection" ) ;
865
+ Environment . SetEnvironmentVariable ( "SYSTEM_TEAMPROJECT" , "MyProject" ) ;
866
+ Environment . SetEnvironmentVariable ( "BUILD_BUILDID" , "20" ) ;
867
+ Environment . SetEnvironmentVariable ( "SYSTEM_ACCESSTOKEN" , "foo" ) ;
868
+
869
+ // When
870
+ var result = Record . Exception ( ( ) => new AzureDevOpsBuildSettings ( - 1 , creds ) ) ;
871
+
872
+ // Then
873
+ result . IsArgumentOutOfRangeException ( "buildId" ) ;
874
+ }
875
+
842
876
[ Fact ]
843
877
public void Should_Throw_If_Build_Id_Env_Var_Is_Not_Integer ( )
844
878
{
@@ -874,7 +908,7 @@ public void Should_Throw_If_Build_Id_Is_Zero()
874
908
}
875
909
876
910
[ Fact ]
877
- public void Should_Throw_If_System_Access_Token_Env_Var_Is_Not_Set ( )
911
+ public void Should_Throw_If_System_Access_Token_Env_Var_Is_Not_Set_With_OAuthToken ( )
878
912
{
879
913
// Given
880
914
Environment . SetEnvironmentVariable ( "SYSTEM_TEAMFOUNDATIONCOLLECTIONURI" , "https://example.com/collection" ) ;
@@ -890,7 +924,7 @@ public void Should_Throw_If_System_Access_Token_Env_Var_Is_Not_Set()
890
924
}
891
925
892
926
[ Fact ]
893
- public void Should_Throw_If_System_Access_Token_Env_Var_Is_Empty ( )
927
+ public void Should_Throw_If_System_Access_Token_Env_Var_Is_Empty_With_OAuthToken ( )
894
928
{
895
929
// Given
896
930
Environment . SetEnvironmentVariable ( "SYSTEM_TEAMFOUNDATIONCOLLECTIONURI" , "https://example.com/collection" ) ;
@@ -906,7 +940,7 @@ public void Should_Throw_If_System_Access_Token_Env_Var_Is_Empty()
906
940
}
907
941
908
942
[ Fact ]
909
- public void Should_Throw_If_System_Access_Token_Env_Var_Is_WhiteSpace ( )
943
+ public void Should_Throw_If_System_Access_Token_Env_Var_Is_WhiteSpace_With_OAuthToken ( )
910
944
{
911
945
// Given
912
946
Environment . SetEnvironmentVariable ( "SYSTEM_TEAMFOUNDATIONCOLLECTIONURI" , "https://example.com/collection" ) ;
@@ -921,6 +955,88 @@ public void Should_Throw_If_System_Access_Token_Env_Var_Is_WhiteSpace()
921
955
result . IsInvalidOperationException ( ) ;
922
956
}
923
957
958
+ [ Fact ]
959
+ public void Should_Throw_If_System_Access_Token_Env_Var_Is_Not_Set_And_Correct_Build_Id ( )
960
+ {
961
+ // Given
962
+ Environment . SetEnvironmentVariable ( "SYSTEM_TEAMFOUNDATIONCOLLECTIONURI" , "https://example.com/collection" ) ;
963
+ Environment . SetEnvironmentVariable ( "SYSTEM_TEAMPROJECT" , "MyProject" ) ;
964
+ Environment . SetEnvironmentVariable ( "BUILD_BUILDID" , "42" ) ;
965
+ Environment . SetEnvironmentVariable ( "SYSTEM_ACCESSTOKEN" , null ) ;
966
+
967
+ // When
968
+ var result = Record . Exception ( ( ) => AzureDevOpsBuildSettings . UsingAzurePipelinesOAuthToken ( 42 ) ) ;
969
+
970
+ // Then
971
+ result . IsInvalidOperationException ( ) ;
972
+ }
973
+
974
+ [ Fact ]
975
+ public void Should_Throw_If_System_Access_Token_Env_Var_Is_Empty_And_Correct_Build_Id_With_OAuthToken ( )
976
+ {
977
+ // Given
978
+ Environment . SetEnvironmentVariable ( "SYSTEM_TEAMFOUNDATIONCOLLECTIONURI" , "https://example.com/collection" ) ;
979
+ Environment . SetEnvironmentVariable ( "SYSTEM_TEAMPROJECT" , "MyProject" ) ;
980
+ Environment . SetEnvironmentVariable ( "BUILD_BUILDID" , "42" ) ;
981
+ Environment . SetEnvironmentVariable ( "SYSTEM_ACCESSTOKEN" , string . Empty ) ;
982
+
983
+ // When
984
+ var result = Record . Exception ( ( ) => AzureDevOpsBuildSettings . UsingAzurePipelinesOAuthToken ( 42 ) ) ;
985
+
986
+ // Then
987
+ result . IsInvalidOperationException ( ) ;
988
+ }
989
+
990
+ [ Fact ]
991
+ public void Should_Throw_If_Build_Id_Env_Var_Is_Set_But_Ctor_Build_Id_Value_Zero_With_OAuthToken ( )
992
+ {
993
+ // Given
994
+ var creds = new AzureDevOpsNtlmCredentials ( ) ;
995
+ Environment . SetEnvironmentVariable ( "SYSTEM_TEAMFOUNDATIONCOLLECTIONURI" , "https://example.com/collection" ) ;
996
+ Environment . SetEnvironmentVariable ( "SYSTEM_TEAMPROJECT" , "MyProject" ) ;
997
+ Environment . SetEnvironmentVariable ( "BUILD_BUILDID" , "20" ) ;
998
+ Environment . SetEnvironmentVariable ( "SYSTEM_ACCESSTOKEN" , "foo" ) ;
999
+
1000
+ // When
1001
+ var result = Record . Exception ( ( ) => AzureDevOpsBuildSettings . UsingAzurePipelinesOAuthToken ( 0 ) ) ;
1002
+
1003
+ // Then
1004
+ result . IsArgumentOutOfRangeException ( "buildId" ) ;
1005
+ }
1006
+
1007
+ [ Fact ]
1008
+ public void Should_Throw_If_Build_Id_Env_Var_Is_Set_But_Ctor_Build_Id_Value_Negative_With_OAuthToken ( )
1009
+ {
1010
+ // Given
1011
+ var creds = new AzureDevOpsNtlmCredentials ( ) ;
1012
+ Environment . SetEnvironmentVariable ( "SYSTEM_TEAMFOUNDATIONCOLLECTIONURI" , "https://example.com/collection" ) ;
1013
+ Environment . SetEnvironmentVariable ( "SYSTEM_TEAMPROJECT" , "MyProject" ) ;
1014
+ Environment . SetEnvironmentVariable ( "BUILD_BUILDID" , "20" ) ;
1015
+ Environment . SetEnvironmentVariable ( "SYSTEM_ACCESSTOKEN" , "foo" ) ;
1016
+
1017
+ // When
1018
+ var result = Record . Exception ( ( ) => AzureDevOpsBuildSettings . UsingAzurePipelinesOAuthToken ( - 1 ) ) ;
1019
+
1020
+ // Then
1021
+ result . IsArgumentOutOfRangeException ( "buildId" ) ;
1022
+ }
1023
+
1024
+ [ Fact ]
1025
+ public void Should_Throw_If_System_Access_Token_Env_Var_Is_WhiteSpace_And_Correct_Build_Id_With_OAuthToken ( )
1026
+ {
1027
+ // Given
1028
+ Environment . SetEnvironmentVariable ( "SYSTEM_TEAMFOUNDATIONCOLLECTIONURI" , "https://example.com/collection" ) ;
1029
+ Environment . SetEnvironmentVariable ( "SYSTEM_TEAMPROJECT" , "MyProject" ) ;
1030
+ Environment . SetEnvironmentVariable ( "BUILD_BUILDID" , "42" ) ;
1031
+ Environment . SetEnvironmentVariable ( "SYSTEM_ACCESSTOKEN" , " " ) ;
1032
+
1033
+ // When
1034
+ var result = Record . Exception ( ( ) => AzureDevOpsBuildSettings . UsingAzurePipelinesOAuthToken ( 42 ) ) ;
1035
+
1036
+ // Then
1037
+ result . IsInvalidOperationException ( ) ;
1038
+ }
1039
+
924
1040
[ Fact ]
925
1041
public void Should_Set_Collection_Url ( )
926
1042
{
@@ -974,6 +1090,24 @@ public void Should_Set_Build_Id()
974
1090
settings . BuildId . ShouldBe ( buildId ) ;
975
1091
}
976
1092
1093
+ [ Fact ]
1094
+ public void Should_Set_Build_Id_With_Ctor ( )
1095
+ {
1096
+ // Given
1097
+ var buildId = 42 ;
1098
+ var creds = new AzureDevOpsNtlmCredentials ( ) ;
1099
+ Environment . SetEnvironmentVariable ( "SYSTEM_TEAMFOUNDATIONCOLLECTIONURI" , "https://example.com/collection" ) ;
1100
+ Environment . SetEnvironmentVariable ( "SYSTEM_TEAMPROJECT" , "MyProject" ) ;
1101
+ Environment . SetEnvironmentVariable ( "BUILD_BUILDID" , "20" ) ;
1102
+ Environment . SetEnvironmentVariable ( "SYSTEM_ACCESSTOKEN" , "foo" ) ;
1103
+
1104
+ // When
1105
+ var settings = new AzureDevOpsBuildSettings ( buildId , creds ) ;
1106
+
1107
+ // Then
1108
+ settings . BuildId . ShouldBe ( buildId ) ;
1109
+ }
1110
+
977
1111
[ Fact ]
978
1112
public void Should_Set_Credentials ( )
979
1113
{
0 commit comments