public void ReadJsonReturnedTypeNotNullTest()
        {
            //Arrange
            var testJson = BaseTests.GetTestJsonString();

            //Act
            WeeklyAvailability result = JsonConvert.DeserializeObject <WeeklyAvailability>(testJson);

            //Assert
            Assert.IsNotNull(result);
        }
Example #2
0
        public void Directory_Get_VSTeam()
        {
            // Arrange
            var ps = BaseTests.PrepPowerShell();

            // Act
            var target = new Directory("Teams", "Team", ps);

            // Assert
            Assert.AreEqual("Get-VSTeam", target.Command);
        }
Example #3
0
        public void Releases_Constructor()
        {
            // Arrange
            var ps = BaseTests.PrepPowerShell();

            // Act
            var target = new Releases(ps, "Project Name");

            // Assert
            Assert.AreEqual("vsteam_lib.Provider.Release", target.TypeName, "TypeName");
        }
Example #4
0
        public async Task GetAccountInformationTest() => await BaseTests.AccountInformationTestAsync(
            async (api, cancellationToken) =>
        {
            var information = await api.GetAccountInformationAsync(cancellationToken);

            Assert.IsTrue(information.RequestCount > 0, nameof(information.RequestCount));
            Assert.IsTrue(information.RequestLimit > 0, nameof(information.RequestLimit));
            Assert.IsTrue(information.ConcurrencyLimit > 0, nameof(information.ConcurrencyLimit));

            return(information);
        });
Example #5
0
        public void GitRef_Constructor()
        {
            // Arrange
            var obj = BaseTests.LoadJson("Get-VSTeamGitRef.json");

            // Act
            var actual = new GitRef(obj[0], "TestProject");

            // Assert
            Assert.IsNotNull(actual.Creator, "Creator");
            Assert.AreEqual("refs/heads/master", actual.RefName, "RefName");
        }
Example #6
0
        public async Task ProxyCustomHeadersGetAsyncTest() => await BaseTests.TextTestAsync(
            async (api, cancellationToken) =>
        {
            var response = await api.GetAsync("http://httpbin.org/anything", proxyMode: true, headers: new Dictionary <string, string>
            {
                { "X-MyHeader", "123" },
            }, cancellationToken: cancellationToken);

            Assert.IsTrue(response.Contains("\"X-Myheader\": \"123\""), response);

            return(response);
        });
Example #7
0
        public void BuildDefinition_GetChildItem_2018()
        {
            // Arrange
            var ps     = BaseTests.PrepPowerShell();
            var obj    = BaseTests.LoadJson("Get-BuildDefinition_2018.json");
            var target = new BuildDefinition(obj[0], "Project Name", ps);

            // Act
            var actual = target.GetChildItem();

            // Assert
            Assert.IsNotNull(actual, "actual");
        }
        public void BuildDefinitionProcessPhase_GetChildren()
        {
            // Arrange
            var ps       = BaseTests.PrepPowerShell();
            var obj      = BaseTests.LoadJson("Get-BuildDefinition_AzD.json");
            var buildDef = new BuildDefinition(obj[0], "Project Name", ps);
            var target   = (PSObject)buildDef.GetChildItem()[0];

            // Act
            var actual = ((BuildDefinitionProcessPhase)target.ImmediateBaseObject).GetChildItem();

            // Assert
            Assert.AreEqual(4, actual.Length);
        }
Example #9
0
        public void Queue_Constructor()
        {
            // Arrange
            var ps  = BaseTests.PrepPowerShell();
            var obj = BaseTests.LoadJson("Get-VSTeamQueue.json");

            // Act
            var target = new Queue(obj[0], "Project Name", ps);

            // Assert
            Assert.IsNotNull(target.Pool, "Pool");
            Assert.AreEqual("81", target.Id, "ID");
            Assert.AreEqual("DefaultPool", target.PoolName, "PoolName");
        }
Example #10
0
        public async Task PutAsyncTest() => await BaseTests.TextTestAsync(
            async (api, cancellationToken) =>
        {
            var response = await api.PutAsync("http://httpbin.org/anything", new Dictionary <string, string>
            {
                { "foo", "bar" },
            }, cancellationToken: cancellationToken);

            Assert.IsTrue(response.Contains("\"data\": \"{\\\"foo\\\":\\\"bar\\\"}\""));
            Assert.IsTrue(response.Contains("\"form\": {}"));
            Assert.IsTrue(response.Contains("\"json\": {\n    \"foo\": \"bar\"\n  }"));

            return(response);
        });
Example #11
0
        public async Task ProxySessionsGetAsyncTest() => await BaseTests.TextTestAsync(
            async (api, cancellationToken) =>
        {
            const long id = long.MaxValue;
            var response1 = await api.GetAsync("http://httpbin.org/ip", proxyMode: true, sessionNumber: id,
                                               cancellationToken: cancellationToken);

            var response2 = await api.GetAsync("http://httpbin.org/ip", proxyMode: true, sessionNumber: id,
                                               cancellationToken: cancellationToken);

            Assert.AreEqual(response1, response2, "Responses are not equal");

            return(response1 + Environment.NewLine + response2);
        });
Example #12
0
        public void Permissions_GetChildItem()
        {
            // Arrange
            var ps     = BaseTests.PrepPowerShell();
            var target = new Permissions("Permissions", ps);

            // Act
            var actual = target.GetChildItem();

            // Assert
            Assert.AreEqual(2, actual.Length);
            Assert.AreEqual("Groups", ((Directory)actual[0]).Name);
            Assert.AreEqual("Users", ((Directory)actual[1]).Name);
        }
Example #13
0
        public void Environment_GetChildItem()
        {
            // Arrange
            var ps     = BaseTests.PrepPowerShell();
            var obj    = BaseTests.LoadJson("Get-VSTeamRelease-id178-expandEnvironments.json", false);
            var envs   = obj[0].GetValue <object[]>("environments");
            var target = new Environment((PSObject)envs[0], 178, "projectName", ps);

            // Act
            var children = target.GetChildItem();

            // Assert
            Assert.AreEqual(1, children.Length);
        }
Example #14
0
        public void UserEntitlementTests_Constructor_ById()
        {
            // Arrange
            var ps  = BaseTests.PrepPowerShell();
            var obj = BaseTests.LoadJson("Get-VSTeamUserEntitlement-Id.json", false);

            // Act
            var target = new UserEntitlement(obj[0]);

            // Assert
            Assert.AreEqual("*****@*****.**", target.Email, "Email");
            Assert.AreEqual("Donovan Brown", target.UserName, "UserName");
            Assert.AreEqual("Early Adopter", target.AccessLevelName, "AccessLevelName");
        }
Example #15
0
        public void BuildDefinition_GetChildItem_AzD_YAML()
        {
            // Arrange
            var ps     = BaseTests.PrepPowerShell();
            var obj    = BaseTests.LoadJson("Get-BuildDefinition_AzD.json");
            var target = new BuildDefinition(obj[7], "Project Name", ps);

            // Act
            var actual = target.GetChildItem();

            // Assert
            Assert.IsNotNull(actual, "actual");
            Assert.AreEqual(1, actual.Length, "actual.Length");
        }
Example #16
0
        public void AccessControlList_Constructor()
        {
            // Arrange
            var obj = BaseTests.LoadJson("Get-VSTeamAccessControlList.json");

            // Act
            var target = new AccessControlList(obj[0]);

            // Assert
            Assert.AreEqual(1, target.Aces.Count, "Aces");
            Assert.AreEqual(true, target.InheritPermissions, "InheritPermissions");
            Assert.AreEqual("$/00000000-0000-0000-0000-000000000001", target.Token, "Token");
            Assert.AreEqual("$/00000000-0000-0000-0000-000000000001", target.ToString(), "ToString()");
        }
Example #17
0
        public void BuildDefinition_Constructor_2018()
        {
            // Arrange
            var ps  = BaseTests.PrepPowerShell();
            var obj = BaseTests.LoadJson("Get-BuildDefinition_2018.json");

            // Act
            var actual = new BuildDefinition(obj[0], "Project Name", ps);

            // Assert
            Assert.IsNotNull(actual.Tags, "Tags");
            Assert.AreEqual(0, actual.Tags.Count, "Tags.Count");

            Assert.IsNull(actual.Demands, "Demands");

            Assert.IsNotNull(actual.Queue, "Queue");
            Assert.IsNotNull(actual.Variables, "Variables");
            Assert.IsNotNull(actual.AuthoredBy, "AuthoredBy");
            Assert.IsNotNull(actual.Repository, "Repository");
            Assert.IsNotNull(actual.GitRepository, "GitRepository");
            Assert.IsNotNull(actual.RetentionRules, "RetentionRules");

            Assert.AreEqual("8/23/2020 3:16:22 pm", actual.CreatedOn.ToString("M/d/yyyy h:mm:ss tt").ToLower(), "CreatedOn");

            Assert.AreEqual(5, actual.JobCancelTimeoutInMinutes, "JobCancelTimeoutInMinutes");
            Assert.AreEqual("projectCollection", actual.JobAuthorizationScope, "JobAuthorizationScope");
            Assert.AreEqual("$(date:yyyyMMdd)$(rev:.r)", actual.BuildNumberFormat, "BuildNumberFormat");

            Assert.IsNotNull(actual.Options, "Options");
            Assert.AreEqual(2, actual.Options.Count, "Options.Count");

            Assert.IsNull(actual.Triggers, "Triggers");

            Assert.AreEqual(27, actual.Id, "Id");
            Assert.AreEqual("CI", actual.Name, "Name");
            Assert.AreEqual("\\", actual.Path, "Path");
            Assert.AreEqual(1, actual.Revision, "Revision");

            Assert.IsNotNull(actual.Process, "Process");
            Assert.AreEqual(1, actual.Process.Phases.Count, "Process.Steps.Count");
            Assert.AreEqual("Number of phases: 1", actual.Process.ToString(), "Process.ToString()");

            Assert.IsNotNull(actual.Process.Phases[0].Steps, "Process.Phases[0].Steps");
            Assert.IsNotNull(actual.Process.Phases[0].Target, "Process.Phases[0].Target");
            Assert.AreEqual(6, actual.Process.Phases[0].StepCount, "Process.Phases[0].StepsCount");
            Assert.AreEqual(6, actual.Process.Phases[0].Steps.Count, "Process.Phases[0].Steps.Count");
            Assert.AreEqual("succeeded()", actual.Process.Phases[0].Condition, "Process.Phases[0].Condition");
            Assert.AreEqual(1, actual.Process.Phases[0].JobCancelTimeoutInMinutes, "Process.Phases[0].JobCancelTimeoutInMinutes");
            Assert.AreEqual("projectCollection", actual.Process.Phases[0].JobAuthorizationScope, "Process.Phases[0].JobAuthorizationScope");
        }
        public void ReadJsonReturnedTypeCorrectFieldsTest()
        {
            //Arrange
            var testJson = BaseTests.GetTestJsonString();

            //Act
            WeeklyAvailability result = JsonConvert.DeserializeObject <WeeklyAvailability>(testJson);


            //Assert
            Assert.AreEqual(result.FacilityId, "e9f7bd81-965d-4464-b607-999112b56022");
            Assert.AreEqual(result.SlotDurationMinutes, 10);
            Assert.AreEqual(result.DaysAvailability.Count, 3);
        }
Example #19
0
        public async Task BatchTest() => await BaseTests.ApiTestAsync(async (api, cancellationToken) =>
        {
            var dictionary = await api.BatchAsync(new []
            {
                "8.8.8.8",
                "8.8.8.8/city",
            }, cancellationToken);

            Assert.IsNotNull(dictionary, nameof(dictionary));

            foreach (var pair in dictionary)
            {
                Console.WriteLine($"{pair.Key}: {pair.Value}");
            }
        });
Example #20
0
        public void AgentPool_Constructor_Hosted()
        {
            // Arrange
            var ps  = BaseTests.PrepPowerShell();
            var obj = BaseTests.LoadJson("Get-VSTeamPool.json");

            // Act
            var target = new AgentPool(obj[1], ps);

            // Assert
            Assert.AreEqual(2, target.Id, "Id");
            Assert.AreEqual(15, target.Count, "Count");
            Assert.AreEqual(true, target.IsHosted, "IsHosted");
            Assert.AreEqual("d-r-s-", target.DisplayMode, "DisplayMode");
        }
Example #21
0
        public void Releases_GetChildItem()
        {
            // Arrange
            var ps       = BaseTests.PrepPowerShell();
            var target   = new Releases(ps, "Project Name");
            var obj      = BaseTests.LoadJson("Get-VSTeamRelease.json");
            var releases = new Collection <PSObject>(obj.Select(o => PSObject.AsPSObject(o)).ToList());

            ps.Invoke().Returns(releases);

            // Act
            var children = target.GetChildItem();

            // Assert
            Assert.AreEqual(2, children.Length, "Length");
        }
Example #22
0
        public void Environment_Constructor()
        {
            // Arrange
            var ps   = BaseTests.PrepPowerShell();
            var obj  = BaseTests.LoadJson("Get-VSTeamRelease-id178-expandEnvironments.json", false);
            var envs = obj[0].GetValue <object[]>("environments");

            // Act
            var target = new Environment((PSObject)envs[0], 178, "projectName", ps);

            // Assert
            Assert.AreEqual(2149, target.Id, "Id");
            Assert.AreEqual(178, target.ReleaseId, "ReleaseId");
            Assert.AreEqual("succeeded", target.Status, "Status");
            Assert.AreEqual(2149, target.EnvironmentId, "EnvironmentId");
        }
Example #23
0
        public void Account_Get_ChildItem_Should_Return_Permissions()
        {
            // Arrange
            var ps = BaseTests.PrepPowerShell();

            ps.Invoke().Returns(new Collection <PSObject>());
            var target = new Account("Accounts", ps);

            Versions.Graph = "6.0-preview";

            // Act
            var actual = target.GetChildItem();

            // Assert
            Assert.AreEqual(4, actual.Length);
        }
Example #24
0
        public void Release_GetChildItem()
        {
            // Arrange
            var ps           = BaseTests.PrepPowerShell();
            var obj          = BaseTests.LoadJson("Get-VSTeamRelease-id178-expandEnvironments.json", false);
            var target       = new Release(obj[0], ps, "Project Name");
            var envs         = obj[0].GetValue <object[]>("environments");
            var environments = new Collection <PSObject>(envs.Select(e => PSObject.AsPSObject(e)).ToList());

            ps.Invoke().Returns(environments);

            // Act
            var children = target.GetChildItem();

            // Assert
            Assert.AreEqual(19, children.Length);
        }
Example #25
0
        public void GitRepository_GetChildItem()
        {
            // Arrange
            var ps      = BaseTests.PrepPowerShell();
            var gitRefs = BaseTests.LoadJson("Get-VSTeamGitRef.json");
            var obj     = BaseTests.LoadJson("Get-VSTeamGitRepository.json");
            var target  = new GitRepository(obj[0], "Project Name", ps);

            ps.Invoke().Returns(gitRefs);

            // Act
            var actual = target.GetChildItem();

            // Assert
            Assert.AreEqual(1, actual.Length);
            ps.Received().AddCommand("Get-VSTeamGitRef");
        }
Example #26
0
        public void DescriptorTests_Constructor()
        {
            // Arrange
            var obj           = BaseTests.LoadJson("descriptor.scope.TestProject.json", false);
            var n             = System.Environment.NewLine;
            var expectedLinks = $"Self: https://vssps.dev.azure.com/test/_apis/Graph/Descriptors/010d06f0-00d5-472a-bb47-58947c230876{n}StorageKey: https://vssps.dev.azure.com/test/_apis/Graph/StorageKeys/scp.ZGU5ODYwOWEtZjRiMC00YWEzLTgzOTEtODI4ZDU2MDI0MjU2{n}Subject: https://vssps.dev.azure.com/test/_apis/Graph/Scopes/scp.ZGU5ODYwOWEtZjRiMC00YWEzLTgzOTEtODI4ZDU2MDI0MjU2{n}";

            // Act
            var target = new Descriptor(obj[0]);

            // Assert
            Assert.IsNotNull(target.Links, "Links");
            Assert.AreEqual(expectedLinks, target.Links.ToString(), "ToString");
            Assert.AreEqual("scp.ZGU5ODYwOWEtZjRiMC00YWEzLTgzOTEtODI4ZDU2MDI0MjU2", target.Name, "Name");
            Assert.AreEqual("scp.ZGU5ODYwOWEtZjRiMC00YWEzLTgzOTEtODI4ZDU2MDI0MjU2", target.ToString(), "ToString");
            Assert.AreEqual("https://vssps.dev.azure.com/test/_apis/Graph/Scopes/scp.ZGU5ODYwOWEtZjRiMC00YWEzLTgzOTEtODI4ZDU2MDI0MjU2", target.Links.Subject, "Links.Subject");
        }
Example #27
0
        public void ClassificationNodeTests_Constructor_ById()
        {
            // Arrange
            var obj = BaseTests.LoadJson("Get-VSTeamClassificationNode-depth3-ids82.json");

            // Act
            var target = new ClassificationNode(obj[0], "Project Name");

            // Assert
            Assert.IsNull(target.ParentUrl, "ParentUrl");
            Assert.IsNotNull(target.Children, "Children");
            Assert.AreEqual(true, target.HasChildren, "HasChildren");
            Assert.AreEqual(Guid.Empty, target.Identifier, "Identifier");
            Assert.AreEqual("\\PeopleTracker\\Iteration", target.Path, "Path");
            Assert.AreEqual("iteration", target.StructureType, "StructureType");
            Assert.AreEqual("https://dev.azure.com/Test/00000000-0000-0000-0000-000000000000/_apis/wit/classificationNodes/Iterations", target.Url, "Url");
        }
Example #28
0
        public void AgentPool_GetChildItem()
        {
            // Arrange
            var ps     = BaseTests.PrepPowerShell();
            var pools  = BaseTests.LoadJson("Get-VSTeamPool.json");
            var agents = BaseTests.LoadJson("Get-VSTeamAgent-PoolId1.json");

            ps.Invoke().Returns(agents);

            var target = new AgentPool(pools[0], ps);

            // Act
            var actual = target.GetChildItem();

            // Assert
            Assert.AreEqual(4, actual.Length);
            ps.Received().AddCommand("Get-VSTeamAgent");
        }
Example #29
0
        public void Agent_GetChildItem()
        {
            // Arrange
            var ps          = BaseTests.PrepPowerShell();
            var agents      = BaseTests.LoadJson("Get-VSTeamPool.json");
            var jobRequests = BaseTests.LoadJson("Get-VSTeamJobRequest-PoolId1-AgentID111.json");

            ps.Invoke().Returns(jobRequests);

            var target = new Agent(agents[0], 1, ps);

            // Act
            var actual = target.GetChildItem();

            // Assert
            Assert.AreEqual(3, actual.Length);
            ps.Received().AddCommand("Get-VSTeamJobRequest");
        }
Example #30
0
        public void Build_Constructor()
        {
            // Arrange
            var ps  = BaseTests.PrepPowerShell();
            var obj = BaseTests.LoadJson("Get-VSTeamBuild.json");

            // Act
            var actual = new Build(obj[0], "Project Name", ps);

            // Assert
            Assert.AreEqual("81", actual.QueueId, "QueueId");
            Assert.IsNotNull(actual.RequestedBy, "RequestedBy");
            Assert.IsNotNull(actual.RequestedFor, "RequestedFor");
            Assert.AreEqual("completed", actual.Status, "Status");
            Assert.AreEqual("succeeded", actual.Result, "Result");
            Assert.IsNotNull(actual.LastChangedBy, "LastChangedBy");
            Assert.AreEqual("568", actual.BuildNumber, "BuildNumber");
            Assert.AreEqual("Default", actual.QueueName, "QueueName");
            Assert.AreEqual("TfsGit", actual.RepositoryType, "RepositoryType");
            Assert.AreEqual("PTracker-CI", actual.DefinitionName, "DefinitionName");
            Assert.AreEqual("Donovan Brown", actual.RequestedByUser, "RequestedByUser");
            Assert.AreEqual("Donovan Brown", actual.RequestedForUser, "RequestedForUser");
            Assert.AreEqual("11/14/2019 12:49:37 am", actual.StartTime?.ToString("M/d/yyyy h:mm:ss tt").ToLower(), "startTime");
            Assert.AreEqual("Microsoft.VisualStudio.Services.ReleaseManagement", actual.LastChangedByUser, "LastChangedByUser");

            Assert.IsNotNull(actual.TriggerInfo, "TriggerInfo");

            Assert.IsNotNull(actual.Queue, "Queue");
            Assert.IsNotNull(actual.Queue.Pool, "Queue.Pool");
            Assert.AreEqual("81", actual.Queue.Id, "Queue.Id");
            Assert.AreEqual("Default", actual.Queue.PoolName, "Queue.PoolName");

            Assert.IsNotNull(actual.BuildDefinition, "BuildDefinition");
            Assert.AreEqual(23, actual.BuildDefinition.Id, "BuildDefinition.Id");
            Assert.AreEqual("PTracker-CI", actual.BuildDefinition.Name, "BuildDefinition.Name");

            Assert.IsNotNull(actual.Project, "Project");
            Assert.AreEqual("PeopleTracker", actual.Project.Name, "Project.Name");
            Assert.AreEqual("00000000-0000-0000-0000-000000000000", actual.Project.Id, "Project.Id");

            Assert.AreEqual("*****@*****.**", actual.RequestedBy.UniqueName, "RequestedBy.UniqueName");
            Assert.AreEqual("Donovan Brown", actual.RequestedFor.DisplayName, "RequestedFor.DisplayName");
            Assert.AreEqual("Microsoft.VisualStudio.Services.ReleaseManagement", actual.LastChangedBy.ToString(), "LastChangedBy.ToString()");
        }