Beispiel #1
0
        static void Main(String[] args)
        {
            Console.WriteLine("Windchime Importer");
            if (args.Length != 1)
            {
                usage();
            }
            if (!Directory.Exists(args[0]))
            {
                Console.WriteLine("Error: Invalid directory.");
                usage();
            }
            DirectoryInfo di = new DirectoryInfo(args[0]);

            FileInfo[]        files = di.GetFiles(args[0] + "\\*");
            WindchimeEntities wce   = new WindchimeEntities();

            foreach (FileInfo f in files)
            {
                BinaryVersion b = new BinaryVersion();
                b.Path = f.FullName;
                Asset a = new Asset();
                a.Versions.Add(b);
                wce.AddToPermissionableEntities(a);
                Console.WriteLine("Added binary asset from file " + f.FullName);
            }
            wce.SaveChanges();
        }
        /// <summary>
        /// Async call to request downloading a file from web.
        /// This call raises UpdateDownloaded event notification.
        /// </summary>
        /// <param name="url">Web URL for file to download.</param>
        /// <param name="version">The version of package that is to be downloaded.</param>
        /// <returns>Request status, it may return false if invalid URL was passed.</returns>
        private bool DownloadUpdatePackage(string url, BinaryVersion version)
        {
            if (string.IsNullOrEmpty(url) || (null == version))
            {
                versionCheckInProgress = false;
                return(false);
            }

            UpdateFileLocation = string.Empty;
            string downloadedFileName = string.Empty;
            string downloadedFilePath = string.Empty;

            try
            {
                downloadedFileName  = Path.GetFileNameWithoutExtension(url);
                downloadedFileName += "." + version.ToString() + Path.GetExtension(url);
                downloadedFilePath  = Path.Combine(Path.GetTempPath(), downloadedFileName);

                if (File.Exists(downloadedFilePath))
                {
                    File.Delete(downloadedFilePath);
                }
            }
            catch (Exception)
            {
                versionCheckInProgress = false;
                return(false);
            }

            WebClient client = new WebClient();

            client.DownloadFileCompleted += new AsyncCompletedEventHandler(OnDownloadFileCompleted);
            client.DownloadFileAsync(new Uri(url), downloadedFilePath, downloadedFilePath);
            return(true);
        }
Beispiel #3
0
 public static void Write(this BinaryWriter writer, BinaryVersion version)
 {
     writer.Write(version.Main);
     writer.Write(version.Major);
     writer.Write(version.Minor);
     writer.Write(version.Revision);
 }
Beispiel #4
0
        public void EqualsTest()
        {
            BinaryVersion firstBin  = BinaryVersion.FromString("1.1.1.1");
            BinaryVersion secondBin = firstBin;

            Assert.IsTrue(firstBin.Equals(secondBin));
        }
        public void TestStringRepresentation()
        {
            BinaryVersion version = BinaryVersion.FromString("12.34.56.78");

            Assert.AreNotEqual(null, version);
            Assert.AreEqual("12.34.56.78", version.ToString());
        }
Beispiel #6
0
        public BinaryVersion getBinaryVersion(Asset a)
        {
            BinaryVersion b = (from BinaryVersion bin in a.Versions
                               where bin.Assets.EntityID == a.EntityID
                               select bin).FirstOrDefault <BinaryVersion>();

            return(b);
        }
        public void TestNegativeConstructions()
        {
            BinaryVersion version = BinaryVersion.FromString(null);

            Assert.AreEqual(null, version);

            version = BinaryVersion.FromString("");
            Assert.AreEqual(null, version);

            version = BinaryVersion.FromString("12");
            Assert.AreEqual(null, version);

            version = BinaryVersion.FromString("ab");
            Assert.AreEqual(null, version);

            version = BinaryVersion.FromString("12.34");
            Assert.AreEqual(null, version);

            version = BinaryVersion.FromString("ab.cd");
            Assert.AreEqual(null, version);

            version = BinaryVersion.FromString("12.34.56");
            Assert.AreEqual(null, version);

            version = BinaryVersion.FromString("ab.cd.ef");
            Assert.AreEqual(null, version);

            version = BinaryVersion.FromString("ab.cd.ef.gh");
            Assert.AreEqual(null, version);

            version = BinaryVersion.FromString("12.34.56.78.90");
            Assert.AreEqual(null, version);

            version = BinaryVersion.FromString("ab.cd.ef.gh.ij");
            Assert.AreEqual(null, version);

            version = BinaryVersion.FromString("12.cd.ef.gh");
            Assert.AreEqual(null, version);

            version = BinaryVersion.FromString("12.34.ef.gh");
            Assert.AreEqual(null, version);

            version = BinaryVersion.FromString("12.34.56.gi");
            Assert.AreEqual(null, version);

            version = BinaryVersion.FromString(".");
            Assert.AreEqual(null, version);

            version = BinaryVersion.FromString("..");
            Assert.AreEqual(null, version);

            version = BinaryVersion.FromString("...");
            Assert.AreEqual(null, version);

            version = BinaryVersion.FromString("....");
            Assert.AreEqual(null, version);
        }
        public void TestEqualityOperator()
        {
            BinaryVersion first  = BinaryVersion.FromString("12.34.56.78");
            BinaryVersion second = BinaryVersion.FromString("12.34.56.78");

            Assert.AreEqual(false, first < second);
            Assert.AreEqual(true, first <= second);
            Assert.AreEqual(true, first == second);
            Assert.AreEqual(false, first > second);
            Assert.AreEqual(true, first >= second);
            Assert.AreEqual(false, first != second);
        }
        private void OnUpdateVersionRequested(object sender, OpenReadCompletedEventArgs e)
        {
            if (null == e || e.Error != null)
            {
                string errorMessage = "Unspecified error";
                if (null != e && (null != e.Error))
                {
                    errorMessage = e.Error.Message;
                }

                logger.LogError("UpdateManager-OnUpdateVersionRequested",
                                string.Format("Request failure: {0}", errorMessage));

                versionCheckInProgress = false;
                return;
            }

            List <string> versionInfo = new List <string>();

            using (StreamReader streamReader = new StreamReader(e.Result))
            {
                string line;
                while (!string.IsNullOrEmpty(line = streamReader.ReadLine()))
                {
                    versionInfo.Add(line);
                }
            }

            if (versionInfo.Count != 3)
            {
                versionCheckInProgress = false;
                return;
            }

            updateInfo = new AppVersionInfo()
            {
                Version        = BinaryVersion.FromString(versionInfo[0]),
                VersionInfoURL = versionInfo[1],
                InstallerURL   = versionInfo[2]
            };

            logger.LogInfo("UpdateManager-OnUpdateVersionRequested",
                           string.Format("Product Version: {0} Available Version : {1}",
                                         ProductVersion.ToString(), AvailableVersion.ToString()));

            if (updateInfo.Value.Version <= this.ProductVersion)
            {
                versionCheckInProgress = false;
                return; // Up-to-date, no download required.
            }

            DownloadUpdatePackage(updateInfo.Value.InstallerURL, updateInfo.Value.Version);
        }
        public void TestComparisonOperators()
        {
            BinaryVersion first  = BinaryVersion.FromString("12.34.56.78");
            BinaryVersion second = BinaryVersion.FromString("87.65.43.21");

            Assert.AreEqual(true, first < second);
            Assert.AreEqual(false, first > second);

            first  = BinaryVersion.FromString("1000.9.9.9");
            second = BinaryVersion.FromString("1001.1.1.1");
            Assert.AreEqual(true, first < second);
            Assert.AreEqual(false, first > second);
        }
        public static BinaryVersion GetProductVersion()
        {
            if (null != productVersion)
            {
                return(productVersion);
            }

            var executingAssemblyName = Assembly.GetExecutingAssembly().GetName();

            productVersion = BinaryVersion.FromString(executingAssemblyName.Version.ToString());

            return(productVersion);
        }
Beispiel #12
0
        public void LessThanOperatorTest()
        {
            BinaryVersion firstBin = BinaryVersion.FromString("1.1.1.1");

            BinaryVersion secondBin = firstBin;

            Assert.IsFalse(firstBin < secondBin);

            secondBin = null;
            Assert.IsFalse(firstBin < secondBin);

            secondBin = BinaryVersion.FromString("2.2.2.2");
            Assert.IsTrue(firstBin < secondBin);
        }
Beispiel #13
0
        public void EqualOperatorTestTest()
        {
            BinaryVersion bin = BinaryVersion.FromString("1.1.1.1");

            BinaryVersion secondBin = bin;

            Assert.IsTrue(bin == secondBin);

            secondBin = null;
            Assert.IsFalse(bin == secondBin);

            secondBin = BinaryVersion.FromString("1.1.1.1");
            Assert.IsTrue(bin == secondBin);
        }
        public void TestComparisonToNull()
        {
            BinaryVersion first  = BinaryVersion.FromString("12.34.56.78");
            BinaryVersion second = BinaryVersion.FromString("ab.cd.ef.gh");

            Assert.AreNotEqual(null, first);
            Assert.AreEqual(null, second);
            Assert.AreEqual(false, first < second);
            Assert.AreEqual(false, first <= second);
            Assert.AreEqual(false, first == second);
            Assert.AreEqual(false, first > second);
            Assert.AreEqual(false, first >= second);
            Assert.AreEqual(true, first != second);
        }
Beispiel #15
0
        public void UpdateButtonCollapsedIfUpToDate()
        {
            var um_mock = new Mock <IUpdateManager>();

            um_mock.Setup(um => um.AvailableVersion).Returns(BinaryVersion.FromString("1.1.1.1"));
            um_mock.Setup(um => um.ProductVersion).Returns(BinaryVersion.FromString("9.9.9.9"));

            Init(um_mock.Object);

            var stb           = (ShortcutToolbar)Ui.shortcutBarGrid.Children[0];
            var sbgrid        = (Grid)stb.FindName("ShortcutToolbarGrid");
            var updateControl = (GraphUpdateNotificationControl)sbgrid.FindName("UpdateControl");

            Assert.AreEqual(Visibility.Collapsed, updateControl.Visibility);
        }
        public void TestPositiveConstructions()
        {
            BinaryVersion version = BinaryVersion.FromString("12.34.56.78");

            Assert.AreEqual(12, version.FileMajor);
            Assert.AreEqual(34, version.FileMinor);
            Assert.AreEqual(56, version.FileBuild);
            Assert.AreEqual(78, version.FilePrivate);

            ulong value = ((((ulong)12) << 48) & 0xffff000000000000) |
                          ((((ulong)34) << 32) & 0x0000ffff00000000) |
                          ((((ulong)56) << 16) & 0x00000000ffff0000) |
                          ((((ulong)78) << 0) & 0x000000000000ffff);

            Assert.AreEqual(value, version.Value);
        }
Beispiel #17
0
        public void GreaterOrEqualOperatorTest()
        {
            BinaryVersion firstBin = BinaryVersion.FromString("2.2.2.2");

            BinaryVersion secondBin = firstBin;

            Assert.IsFalse(firstBin >= secondBin);

            secondBin = null;
            Assert.IsFalse(firstBin >= secondBin);

            secondBin = BinaryVersion.FromString("1.1.1.1");
            Assert.IsTrue(firstBin >= secondBin);

            secondBin = BinaryVersion.FromString("2.2.2.2");
            Assert.IsTrue(firstBin >= secondBin);
        }
Beispiel #18
0
        public void UpdateButtonCollapsedIfUpToDate()
        {
            var um_mock = new Mock <IUpdateManager>();

            um_mock.Setup(um => um.AvailableVersion).Returns(BinaryVersion.FromString("1.1.1.1"));
            um_mock.Setup(um => um.ProductVersion).Returns(BinaryVersion.FromString("9.9.9.9"));
            var fieldInfo = typeof(UpdateManager).GetField("instance", BindingFlags.Static | BindingFlags.NonPublic);

            fieldInfo.SetValue(UpdateManager.Instance, um_mock.Object);

            Init();

            var stb           = (ShortcutToolbar)View.shortcutBarGrid.Children[0];
            var sbgrid        = (Grid)stb.FindName("ShortcutToolbarGrid");
            var updateControl = (GraphUpdateNotificationControl)sbgrid.FindName("UpdateControl");

            Assert.AreEqual(Visibility.Collapsed, updateControl.Visibility);
        }
Beispiel #19
0
        public void BaseVersionTest()
        {
            updateManager.DownloadedUpdateInfo = new AppVersionInfo()
            {
                Version = BinaryVersion.FromString("5.5.5.5")
            };
            updateManager.UpdateInfo = new AppVersionInfo()
            {
                Version = BinaryVersion.FromString("5.5.5.5")
            };

            //These two cases are to cover both routes in the BaseVersion if statement.
            //ProductVersion < HostVersion
            updateManager.HostVersion = new Version(9, 9, 9, 9);
            Assert.IsTrue(updateManager.IsUpdateAvailable);

            //ProductVersion > HostVersion
            updateManager.HostVersion = new Version(1, 1, 1, 1);
            Assert.IsTrue(updateManager.IsUpdateAvailable);
        }
Beispiel #20
0
        private static Mock <IUpdateManager> MockUpdateManager(string availableVersion, string productVersion)
        {
            var um_mock = new Mock <IUpdateManager>();

            um_mock.Setup(um => um.AvailableVersion).Returns(BinaryVersion.FromString(availableVersion));
            um_mock.Setup(um => um.ProductVersion).Returns(BinaryVersion.FromString(productVersion));

            var config = new UpdateManagerConfiguration()
            {
                DownloadSourcePath  = DOWNLOAD_SOURCE_PATH_S,
                SignatureSourcePath = SIGNATURE_SOURCE_PATH_S
            };

            um_mock.Setup(um => um.Configuration).Returns(config);

            var fieldInfo = typeof(UpdateManager).GetField("instance", BindingFlags.Static | BindingFlags.NonPublic);

            Assert.NotNull(fieldInfo);
            fieldInfo.SetValue(UpdateManager.Instance, um_mock.Object);
            return(um_mock);
        }
Beispiel #21
0
        public void FromStringTest()
        {
            //If the string is not valid, it should return null
            Assert.IsNull(BinaryVersion.FromString(null));
            Assert.IsNull(BinaryVersion.FromString(""));

            Assert.IsNull(BinaryVersion.FromString("."));
            Assert.IsNull(BinaryVersion.FromString("1.1"));

            Assert.IsNull(BinaryVersion.FromString("a.1.1.1"));
            Assert.IsNull(BinaryVersion.FromString("1.a.1.1"));
            Assert.IsNull(BinaryVersion.FromString("1.1.a.1"));
            Assert.IsNull(BinaryVersion.FromString("1.1.1.a"));

            //If the string is valid, check that the properties are filled correctly
            BinaryVersion version = BinaryVersion.FromString("1.2.3.4");

            Assert.IsNotNull(version);
            Assert.AreEqual(1, version.FileMajor);
            Assert.AreEqual(2, version.FileMinor);
            Assert.AreEqual(3, version.FileBuild);
            Assert.AreEqual(4, version.FilePrivate);
        }
 /// <summary>
 /// Create a new BinaryVersion object.
 /// </summary>
 /// <param name="versionID">Initial value of VersionID.</param>
 /// <param name="createdDate">Initial value of CreatedDate.</param>
 /// <param name="log">Initial value of Log.</param>
 /// <param name="path">Initial value of Path.</param>
 public static BinaryVersion CreateBinaryVersion(int versionID, global::System.DateTime createdDate, string log, string path)
 {
     BinaryVersion binaryVersion = new BinaryVersion();
     binaryVersion.VersionID = versionID;
     binaryVersion.CreatedDate = createdDate;
     binaryVersion.Log = log;
     binaryVersion.Path = path;
     return binaryVersion;
 }
Beispiel #23
0
        public void listAssets()
        {
            int count = 0;

            foreach (Assignment asgn in publishableAssignments)
            {
                asgn.Assets.Load();
                List <Asset> a = asgn.Assets.ToList <Asset>();
                foreach (Asset asset in a)
                {
                    Label Headline_lbl = new Label();
                    Headline_lbl.Text = asset.Headline + "<br />";
                    getPlaceHolder(count).Controls.Add(Headline_lbl);
                    Label Summary_lbl = new Label();
                    Summary_lbl.Text = asset.Summary + "<br />";
                    // if asset type is 1 - photo, create an image control
                    if (Convert.ToInt32(asset.AssetTypeReference.EntityKey.EntityKeyValues[0].Value) == 1)
                    {
                        BinaryVersion thisPhoto = getBinaryVersion(asset);
                        if (thisPhoto != null)
                        {
                            Image Photo_img = new Image();
                            Photo_img.ImageUrl = thisPhoto.Path;
                            getPlaceHolder(count).Controls.Add(Photo_img);
                            Label Space_lbl = new Label();
                            Space_lbl.Text = "<br />";
                            getPlaceHolder(count).Controls.Add(Space_lbl);
                        }
                        else
                        {
                            addMissingLabel("Photo", count);
                        }
                    }
                    // if asset type is 2 - article, create a label control
                    else if (Convert.ToInt32(asset.AssetTypeReference.EntityKey.EntityKeyValues[0].Value) == 2)
                    {
                        TextVersion thisArticle = getTextVersion(asset);
                        if (thisArticle != null)
                        {
                            Label Article_lbl = new Label();
                            Article_lbl.Text = thisArticle.Text + "<br />";
                            getPlaceHolder(count).Controls.Add(Article_lbl);
                        }
                        else
                        {
                            addMissingLabel("Article", count);
                        }
                    }
                    else
                    {
                        BinaryVersion thisAd = getBinaryVersion(asset);
                        if (thisAd != null)
                        {
                            Image Photo_img = new Image();
                            Photo_img.ImageUrl = thisAd.Path;
                            AssetPrinter_placeholder_ads.Controls.Add(Photo_img);
                            Label Space_lbl = new Label();
                            Space_lbl.Text = "<br />";
                            AssetPrinter_placeholder_ads.Controls.Add(Space_lbl);
                        }
                        else
                        {
                            addMissingLabel("Unable to display ads. Advertisement", count);
                        }
                    }
                }
                count++;
            }
        }
Beispiel #24
0
        public void GetHashCodeTest()
        {
            BinaryVersion bin = BinaryVersion.FromString("1.1.1.1");

            Assert.IsNotNull(bin.GetHashCode());
        }
Beispiel #25
0
        public override bool Equals(object other)
        {
            BinaryVersion rhs = other as BinaryVersion;

            return(this == rhs);
        }