示例#1
0
        public void TestBadCredentialHelperPath(bool emptyPath)
        {
            var outStream  = new StringBuilder();
            var credHelper = CredentialProviderHelper.CreateInstanceForTesting(m => outStream.AppendLine(m), emptyPath ? "" : "badPath", "");

            var result = credHelper.AcquirePatAsync(new Uri("https://foo"), PatType.CacheReadWrite).Result;

            XAssert.IsTrue(result.Result == CredentialHelperResultType.NoCredentialProviderSpecified);
            XAssert.IsNull(result.Pat);
        }
示例#2
0
        public void TestBadExitCode()
        {
            var outStream  = new StringBuilder();
            var credHelper = CredentialProviderHelper.CreateInstanceForTesting(m => outStream.AppendLine(m), CmdHelper.OsShellExe, "/d /c exit 1");

            var result = credHelper.AcquirePatAsync(new Uri("https://foo"), PatType.CacheReadWrite).Result;

            XAssert.IsTrue(result.Result == CredentialHelperResultType.BadStatusCodeReturned);
            XAssert.IsTrue(outStream.ToString().Contains("Credential provider execution failed with exit code 1"));
            XAssert.IsNull(result.Pat);
        }
示例#3
0
        public void TestSuccessfulPatAcquisition()
        {
            var outStream      = new StringBuilder();
            var testAuthOutput = new AuthOutput()
            {
                Username = "",
                Password = "******",
                Message  = ""
            };
            var serialized = JsonConvert.SerializeObject(testAuthOutput);
            var credHelper = CredentialProviderHelper.CreateInstanceForTesting(m => outStream.AppendLine(m), CmdHelper.OsShellExe, $"/d /c echo {serialized}");

            var result = credHelper.AcquirePatAsync(new Uri("https://foo"), PatType.CacheReadWrite).Result;

            XAssert.IsTrue(result.Result == CredentialHelperResultType.Success);
            XAssert.IsTrue(outStream.ToString().Contains("Credentials were successfully retrieved from provider"));
            XAssert.IsTrue(outStream.ToString().Contains("testPassword"));
            XAssert.IsNotNull(result.Pat);
        }