Exemplo n.º 1
0
        public void TestPorperties()
        {
            var iotedgeVstsAgent = new IoTEdgeVstsAgent(
                893,
                "name 123",
                "version 1.23.3",
                VstsAgentStatus.Online,
                true,
                new HashSet <AgentCapability>()
            {
                new AgentCapability("Agent.OS", "Linux")
            },
                new HashSet <AgentCapability>()
            {
                new AgentCapability("run-long-haul", "true")
            });

            Assert.AreEqual(893, iotedgeVstsAgent.Id);
            Assert.AreEqual("name 123", iotedgeVstsAgent.Name);
            Assert.AreEqual("version 1.23.3", iotedgeVstsAgent.Version);
            Assert.AreEqual(VstsAgentStatus.Online, iotedgeVstsAgent.Status);
            Assert.AreEqual(true, iotedgeVstsAgent.Enabled);
            Assert.Contains(new AgentCapability("Agent.OS", "Linux"), iotedgeVstsAgent.SystemCapabilities);
            Assert.Contains(new AgentCapability("run-long-haul", "true"), iotedgeVstsAgent.UserCapabilities);
        }
Exemplo n.º 2
0
        public void TestUpdate()
        {
            var agents = new HashSet <IoTEdgeVstsAgent>();
            var agent1 = new IoTEdgeVstsAgent(
                38324,
                "iotedge-pi-04",
                "version",
                VstsAgentStatus.Online,
                true,
                new HashSet <AgentCapability>
            {
                new AgentCapability("Agent.OS", "Linux"),
                new AgentCapability("Agent.OSArchitecture", "ARM"),
            },
                new HashSet <AgentCapability>
            {
                new AgentCapability("agent-osbits", "32"),
                new AgentCapability("run-stress", "true"),
            });

            agents.Add(agent1);

            var agent2 = new IoTEdgeVstsAgent(
                39472,
                "iotedge-win5",
                "version",
                VstsAgentStatus.Online,
                true,
                new HashSet <AgentCapability>
            {
                new AgentCapability("Agent.OS", "Windows_NT"),
                new AgentCapability("Agent.OSArchitecture", "X64"),
            },
                new HashSet <AgentCapability>
            {
                new AgentCapability("agent-os-name", "WinPro_x64"),
                new AgentCapability("run-long-haul", "true"),
            });

            agents.Add(agent2);

            var agentMatrix = new AgentMatrix();

            agentMatrix.Update(agents);

            var rowGroup1 = new AgentDemandSet(
                "Linux ARM32",
                new HashSet <AgentCapability>
            {
                new AgentCapability("Agent.OS", "Linux"),
                new AgentCapability("Agent.OSArchitecture", "ARM"),
                new AgentCapability("agent-osbits", "32"),
            });

            var colGroup1 = new AgentDemandSet(
                "Stress Test",
                new HashSet <AgentCapability>
            {
                new AgentCapability("run-stress", "true"),
            });

            var rowGroup2 = new AgentDemandSet(
                "Windows AMD64",
                new HashSet <AgentCapability>
            {
                new AgentCapability("Agent.OS", "Windows_NT"),
                new AgentCapability("Agent.OSArchitecture", "X64"),
                new AgentCapability("agent-os-name", "WinPro_x64"),
            });

            var colGroup2 = new AgentDemandSet(
                "Long Haul",
                new HashSet <AgentCapability>
            {
                new AgentCapability("run-long-haul", "true"),
            });

            ImmutableDictionary <AgentDemandSet, Dictionary <AgentDemandSet, HashSet <IoTEdgeVstsAgent> > > updatedMatrix = agentMatrix.Matrix;

            foreach (AgentDemandSet row in updatedMatrix.Keys)
            {
                foreach (AgentDemandSet column in updatedMatrix[row].Keys)
                {
                    if (row.Equals(rowGroup1) && column.Equals(colGroup1))
                    {
                        Assert.AreEqual(1, updatedMatrix[row][column].Count);
                    }
                    else if (row.Equals(rowGroup2) && column.Equals(colGroup2))
                    {
                        Assert.AreEqual(1, updatedMatrix[row][column].Count);
                    }
                    else
                    {
                        Assert.AreEqual(0, updatedMatrix[row][column].Count);
                    }
                }
            }
        }