Exemplo n.º 1
0
        public void TestUpdateDetectionProperties()
        {
            var account = GitHubTestAccount.Get();
            var checker = new ReleaseChecker(account.Name, account.Repository);

            var lastChecked       = checker.LastChecked;
            var originalUpdateUrl = checker.UpdateUrl;
            var originalUpdate    = checker.Update;

            Assert.DoesNotThrow(() =>
            {
                checker.MonitorForUpdates(
                    "v1",
                    null,
                    Timeout.Infinite
                    );
            });

            while (lastChecked == checker.LastChecked)
            {
                Thread.Sleep(500);
            }

            Assert.IsTrue(checker.UpdateAvailable);
            Assert.IsNotEmpty(checker.UpdateUrl);
            Assert.AreNotEqual(checker.UpdateUrl, originalUpdateUrl);
            Assert.IsNotNull(checker.Update);
            Assert.AreNotEqual(checker.Update, originalUpdate);
        }
Exemplo n.º 2
0
        public void TestNullUpdateDetectionCallback()
        {
            var account = GitHubTestAccount.Get();
            var checker = new ReleaseChecker(account.Name, account.Repository);

            Assert.DoesNotThrow(() =>
            {
                checker.MonitorForUpdates(
                    "v1",
                    null,
                    Timeout.Infinite
                    );
            });
        }
Exemplo n.º 3
0
        public void TestInvalidUpdateDetectionInterval()
        {
            var account = GitHubTestAccount.Get();
            var checker = new ReleaseChecker(account.Name, account.Repository);

            GitHubRelease latestRelease = null;

            Assert.Throws <ArgumentException>(() =>
            {
                checker.MonitorForUpdates(
                    "v1",
                    (release) => { latestRelease = release; },
                    0
                    );
            });
            Assert.IsNull(latestRelease);
        }
Exemplo n.º 4
0
        public void TestUpdateDetectionExceptions()
        {
            var account = GitHubTestAccount.Get();
            var checker = new ReleaseChecker(account.Name, account.Repository);

            var thrown = false;

            checker.UnhandledException += (source, e) =>
            {
                thrown = true;

                Assert.IsInstanceOf <System.Net.Http.HttpRequestException>(e);
            };

            checker.MonitorForUpdates("bing bong", null, Timeout.Infinite);

            while (!thrown)
            {
                Thread.Sleep(500);
            }

            // if we fall through it means thet test passed (since it didn't timeout)!
        }
Exemplo n.º 5
0
        public void TestUpdateDetection()
        {
            string versionToCheckFor = "v1";

            var account = GitHubTestAccount.Get();
            var checker = new ReleaseChecker(account.Name, account.Repository);

            GitHubRelease latestRelease = null;

            checker.MonitorForUpdates(
                versionToCheckFor,
                (release) => { latestRelease = release; },
                Timeout.Infinite
                );

            while (latestRelease == null)
            {
                Thread.Sleep(500);
            }

            Assert.IsNotNull(latestRelease);
            Assert.AreNotEqual(latestRelease.Version, versionToCheckFor);
        }
 private void StartCheckForUpdates()
 {
     UpdateState = new ReleaseChecker("nachmore", "ChimeHelper");
     UpdateState.UnhandledException += UpdateState_UnhandledException;
     UpdateState.MonitorForUpdates(VersionString);
 }