Esempio n. 1
0
        public void SerializationTest()
        {
            // Arrange.
            var initiatorId = new Guid("{9065A3C5-CA76-489A-BF10-0C1484304E6D}");
            var status = new PublishStatus();

            status.Stage = "Test Stage";
            status.StatusText = "Test Status Text";
            status.Progress = 12.34;
            status.Exception = "Test Exception";
            status.InitiatorId = initiatorId;
            status.BuildFailure = new BuildFailure();
            status.BuildFailure.ErrorText = "Test Error Text";
            status.BuildFailure.Line = 123;
            status.BuildFailure.ProcessName = "Test Process";
            status.BuildFailure.IsServerSide = true;

            // Act.
            var binaryData = MobileFormatter.Serialize(status);
            var copy = (PublishStatus)MobileFormatter.Deserialize(binaryData);

            // Assert.
            Assert.IsNotNull(copy);
            Assert.AreEqual("Test Stage", copy.Stage);
            Assert.AreEqual("Test Status Text", copy.StatusText);
            Assert.AreEqual(12.34, copy.Progress);
            Assert.AreEqual("Test Exception", copy.Exception);
            Assert.AreEqual(initiatorId, copy.InitiatorId);

            Assert.IsNotNull(copy.BuildFailure);
            Assert.AreEqual("Test Error Text", copy.BuildFailure.ErrorText);
            Assert.AreEqual(123, copy.BuildFailure.Line);
            Assert.AreEqual("Test Process", copy.BuildFailure.ProcessName);
            Assert.IsTrue(copy.BuildFailure.IsServerSide);
        }
Esempio n. 2
0
        /// <summary>
        /// Notifies all clients about publishing status.
        /// </summary>
        /// <param name="status">The status.</param>
        public static void NotifyPublishStatus(PublishStatus status)
        {
            PublishStatus = status;
            var context = GlobalHost.ConnectionManager.GetHubContext<RuntimeHub>();

            context.Clients.All.NotifyPublishStatus(status);
        }