Beispiel #1
0
        public void ShouldNotBeEqualWhenPreferenceDifferent()
        {
            var hostMxRecordA = new HostMxRecord("hostName1", 1, new List <string>());
            var hostMxRecordB = new HostMxRecord("hostName1", 2, new List <string>());

            Assert.AreNotEqual(hostMxRecordA, hostMxRecordB);
        }
Beispiel #2
0
        public void ShouldBeEqualWhenSameValuesButIpAddressesNull()
        {
            var hostMxRecordA = new HostMxRecord("hostName1", 1, null);
            var hostMxRecordB = new HostMxRecord("hostName1", 1, null);

            Assert.AreEqual(hostMxRecordA, hostMxRecordB);
        }
Beispiel #3
0
        public void ShouldBeEqualWhenHostNameSameButContainsSpacesAfterSemiColon()
        {
            var hostMxRecordA = new HostMxRecord("hostName1; ", 1, new List <string>());
            var hostMxRecordB = new HostMxRecord("hostName1;", 1, new List <string>());

            Assert.AreEqual(hostMxRecordA, hostMxRecordB);
        }
        public void DoesNotNotifyWhenNoChanges()
        {
            string testDomain   = "domain";
            string testHostName = "hostname";

            MxEntityState state  = new MxEntityState(testDomain);
            HostMxRecord  record = new HostMxRecord(testHostName, 5, new List <string> {
                "192.168.0.1", "192.168.0.2"
            });

            state.HostMxRecords = new List <HostMxRecord> {
                new HostMxRecord(testHostName, 5, new List <string> {
                    "192.168.0.1"
                })
            };
            List <HostMxRecord> hostMxRecords = new List <HostMxRecord> {
                record
            };
            MxRecordsPolled mxRecordsPolled = new MxRecordsPolled(testDomain, hostMxRecords, TimeSpan.MinValue);

            _recordChangedNotifier.Handle(state, mxRecordsPolled);

            A.CallTo(() => _dispatcher.Dispatch(A <MxRecordAdded> ._, A <string> ._)).MustNotHaveHappened();
            A.CallTo(() => _dispatcher.Dispatch(A <MxRecordRemoved> ._, A <string> ._)).MustNotHaveHappened();
        }
Beispiel #5
0
        public void ShouldNotBeEqualWhenIpAddressMissing3()
        {
            var hostMxRecordA = new HostMxRecord("hostName1", 1, new List <string> {
                "ipAddress1"
            });
            var hostMxRecordB = new HostMxRecord("hostName1", 1, null);

            Assert.AreNotEqual(hostMxRecordA, hostMxRecordB);
        }
Beispiel #6
0
        public void ShouldNotBeEqualWhenIpAddressesDifferent()
        {
            var hostMxRecordA = new HostMxRecord("hostName1", 1, new List <string> {
                "ipAddress1", "ipAddress2"
            });
            var hostMxRecordB = new HostMxRecord("hostName1", 1, new List <string> {
                "ipAddress2", "ipAddress3"
            });

            Assert.AreNotEqual(hostMxRecordA, hostMxRecordB);
        }
Beispiel #7
0
        public void ShouldBeEqualWhenSameIpAddressesInDifferentOrder()
        {
            var hostMxRecordA = new HostMxRecord("hostName1", 1, new List <string> {
                "ipAddress1", "ipAddress2"
            });
            var hostMxRecordB = new HostMxRecord("hostName1", 1, new List <string> {
                "ipAddress2", "ipAddress1"
            });

            Assert.AreEqual(hostMxRecordA, hostMxRecordB);
        }
Beispiel #8
0
        public void ShouldBeEqualWhenSameValues()
        {
            var hostMxRecordA = new HostMxRecord("hostName1", 1, new List <string> {
                "ipAddress1"
            });
            var hostMxRecordB = new HostMxRecord("hostName1", 1, new List <string> {
                "ipAddress1"
            });

            Assert.AreEqual(hostMxRecordA, hostMxRecordB);
        }
        public void NotifiesWhenRecordAddedAndRemoved()
        {
            string testDomain    = "domain";
            string testHostName1 = "hostname1";
            string testHostName2 = "hostname2";


            MxEntityState state   = new MxEntityState(testDomain);
            HostMxRecord  record1 = new HostMxRecord(testHostName1, 5, new List <string> {
                "192.168.0.1"
            });
            HostMxRecord record2 = new HostMxRecord(testHostName2, 5, new List <string> {
                "192.168.0.1"
            });

            state.HostMxRecords = new List <HostMxRecord> {
                record1
            };
            List <HostMxRecord> hostMxRecords = new List <HostMxRecord> {
                record2
            };
            MxRecordsPolled mxRecordsPolled = new MxRecordsPolled(testDomain, hostMxRecords, TimeSpan.MinValue);

            _recordChangedNotifier.Handle(state, mxRecordsPolled);

            A.CallTo(() => _dispatcher.Dispatch(A <MxRecordRemoved> ._, A <string> ._))
            .MustHaveHappenedOnceExactly();
            A.CallTo(() =>
                     _dispatcher.Dispatch(
                         A <MxRecordRemoved> .That.Matches(x => x.Id == testDomain && x.Records[0].Id == testHostName1),
                         A <string> ._)).MustHaveHappenedOnceExactly();

            A.CallTo(() => _dispatcher.Dispatch(A <MxRecordAdded> ._, A <string> ._))
            .MustHaveHappenedOnceExactly();
            A.CallTo(() =>
                     _dispatcher.Dispatch(
                         A <MxRecordAdded> .That.Matches(x => x.Id == testDomain && x.Records[0].Id == testHostName2),
                         A <string> ._)).MustHaveHappenedOnceExactly();
        }