示例#1
0
        public void Tree_Compare_SecondLastNodeRemoved_LastNodePropertyCollection()
        {
            var first = PrtgNode.Device(Device(),
                                        PrtgNode.Sensor(Sensor("First Sensor")),
                                        PrtgNode.PropertyCollection(PrtgNode.Property(3001, "name_", "test"))
                                        );

            var second = PrtgNode.Device(Device(),
                                         PrtgNode.PropertyCollection(PrtgNode.Property(3001, "name_", "test"))
                                         );

            ValidatePretty(first, second, new[]
            {
                "<Yellow>dc-1</Yellow>",
                "├──<Red>First Sensor</Red>",
                "└──Properties",
                "   └──name_"
            }, new[]
            {
                "<Yellow>dc-1</Yellow>",
                "├──Properties",
                "│  └──name_",
                "└──<Green>First Sensor</Green>",
            });
        }
        public void Tree_Compare_Reduce_TreeDifference()
        {
            //We wanna make sure we're reducing on the TreeDifference, not the regular Difference.
            //If we're reducing on the regular Difference, dc-1/2 gets reduced to have no children, but
            //Servers doesn't have a difference so doesn't get replaced under Local Probe

            var first = PrtgNode.Probe(Probe("Local Probe"),
                                       PrtgNode.Group(Group("Servers"),
                                                      PrtgNode.Device(Device("dc-1", 3001),
                                                                      PrtgNode.Sensor(Sensor("Sensor1", 4001),
                                                                                      DefaultProperty
                                                                                      ),
                                                                      PrtgNode.Sensor(Sensor("Sensor2", 4002))
                                                                      )
                                                      )
                                       );

            var second = PrtgNode.Probe(Probe("Local Probe"),
                                        PrtgNode.Group(Group("Servers"),
                                                       PrtgNode.Device(Device("dc-2", 3001),
                                                                       PrtgNode.Sensor(Sensor("Sensor1", 4001),
                                                                                       DefaultProperty
                                                                                       ),
                                                                       PrtgNode.Sensor(Sensor("Sensor2", 4002))
                                                                       )
                                                       )
                                        );

            var comparison = first.CompareTo(second);
            var reduced    = comparison.Reduce();
            var list       = reduced.DescendantNodesAndSelf().ToList();

            Assert.AreEqual(3, list.Count);
        }
示例#3
0
        public void Tree_Builds_OrdersChildPositions()
        {
            var tree = PrtgNode.Probe(Probe(),
                                      PrtgNode.TriggerCollection(
                                          PrtgNode.Trigger(Trigger("Trigger1")),
                                          PrtgNode.Trigger(Trigger("Trigger2"))
                                          ),
                                      PrtgNode.Group(Group("Servers", position: 3)),
                                      PrtgNode.Device(Device("dc-1", position: 1),
                                                      PrtgNode.Sensor(Sensor("Sensor2", position: 2)),
                                                      PrtgNode.Sensor(Sensor("Sensor1", position: 1))
                                                      ),
                                      PrtgNode.Trigger(Trigger("Trigger3")),
                                      PrtgNode.Device(Device("dc-2", position: 2))
                                      );

            TreePrettyPrintTests.Validate(tree, new[]
            {
                "Local Probe",
                "├──dc-1",
                "│  ├──Sensor1",
                "│  └──Sensor2",
                "├──dc-2",
                "├──Servers",
                "├──Trigger1",
                "├──Trigger2",
                "└──Trigger3"
            });
        }
示例#4
0
        public void Tree_Compare_SecondLastNodeRemoved_LastNodeTriggerCollection()
        {
            var first = PrtgNode.Device(Device(),
                                        PrtgNode.Sensor(Sensor("First Sensor")),
                                        PrtgNode.TriggerCollection(DefaultTrigger)
                                        );

            var second = PrtgNode.Device(Device(),
                                         PrtgNode.TriggerCollection(DefaultTrigger)
                                         );

            ValidatePretty(first, second, new[]
            {
                "<Yellow>dc-1</Yellow>",
                "├──<Red>First Sensor</Red>",
                "└──Triggers",
                "   └──Email to Admin"
            }, new[]
            {
                "<Yellow>dc-1</Yellow>",
                "├──Triggers",
                "│  └──Email to Admin",
                "└──<Green>First Sensor</Green>"
            });
        }
示例#5
0
        public void Tree_Compare_Include_None()
        {
            var first = PrtgNode.Device(Device(),
                                        PrtgNode.Sensor(Sensor("Sensor 1", 4001))
                                        );

            var second = PrtgNode.Device(Device(),
                                         PrtgNode.Sensor(Sensor("Sensor 2", 4001))
                                         );

            CompareCompared(first, second,
                            new[] { TreeNodeDifference.None },
                            new[] { TreeNodeDifference.None, TreeNodeDifference.Name },
                            new[] { TreeNodeDifference.None, TreeNodeDifference.Name }
                            );
        }
        public void Tree_PrettyPrint_Grouping()
        {
            var tree = PrtgNode.Device(Device(),
                                       PrtgNode.Sensor(Sensor(),
                                                       PrtgNode.Trigger(Trigger())
                                                       ),
                                       PrtgNode.Sensor(Sensor())
                                       );

            var grouping = tree["VMware Datastore"];

            var expected = new[]
            {
                "VMware Datastore",
                "└──Email to Admin",
                "VMware Datastore"
            };

            Validate(grouping, expected);
        }
示例#7
0
        public void Tree_Compare_Include_HasChildren()
        {
            var first = PrtgNode.Group(Group(),
                                       PrtgNode.Device(Device("Device 1", 4001),
                                                       PrtgNode.Sensor(Sensor())
                                                       ),
                                       PrtgNode.Device(Device("Device 3", 4003, position: 1))
                                       );

            var second = PrtgNode.Group(Group(),
                                        PrtgNode.Device(Device("Device 1", 4001)),
                                        PrtgNode.Device(Device("Device 3", 4003, position: 2))
                                        );

            CompareCompared(first, second,
                            new[] { TreeNodeDifference.HasChildren },
                            new[] { TreeNodeDifference.None, TreeNodeDifference.HasChildren | TreeNodeDifference.NumberOfChildren, TreeNodeDifference.Removed, TreeNodeDifference.Position },
                            new[] { TreeNodeDifference.None, TreeNodeDifference.HasChildren, TreeNodeDifference.None, TreeNodeDifference.None }
                            );
        }
示例#8
0
        public void Tree_Compare_SecondLastNodeRemoved()
        {
            var first = PrtgNode.Device(Device(),
                                        PrtgNode.Sensor(Sensor("First Sensor")),
                                        PrtgNode.Sensor(Sensor("Second Sensor", 4002))
                                        );

            var second = PrtgNode.Device(Device(),
                                         PrtgNode.Sensor(Sensor("Second Sensor", 4002))
                                         );

            ValidatePretty(first, second, new[]
            {
                "<Yellow>dc-1</Yellow>",
                "├──<Red>First Sensor</Red>",
                "└──Second Sensor"
            }, new[]
            {
                "<Yellow>dc-1</Yellow>",
                "├──Second Sensor",
                "└──<Green>First Sensor</Green>"
            });
        }
示例#9
0
        public void Tree_Compare_Position_Different()
        {
            var first = PrtgNode.Device(Device(),
                                        PrtgNode.Sensor(Sensor("Sensor 1", 4001, position: 1)),
                                        PrtgNode.Sensor(Sensor("Sensor 2", 4002, position: 2))
                                        );

            var second = PrtgNode.Device(Device(),
                                         PrtgNode.Sensor(Sensor("Sensor 2", 4002, position: 1)),
                                         PrtgNode.Sensor(Sensor("Sensor 1", 4001, position: 2))
                                         );

            ValidatePretty(first, second, new[]
            {
                "dc-1",
                "├──<Yellow>Sensor 1 (Position)</Yellow>",
                "└──<Yellow>Sensor 2 (Position)</Yellow>"
            }, new[]
            {
                "dc-1",
                "├──<Yellow>Sensor 2 (Position)</Yellow>",
                "└──<Yellow>Sensor 1 (Position)</Yellow>"
            });
        }