示例#1
0
        public static T RetrievePayloadAs <T>(this DthMessage message)
            where T : JToken
        {
            Assert.NotNull(message);
            AssertType <T>(message.Payload, "Payload");

            return((T)message.Payload);
        }
示例#2
0
        /// <summary>
        /// Throws if the message is not generated in communication between given server and client
        /// </summary>
        public static DthMessage EnsureSource(this DthMessage message, DthTestServer server, DthTestClient client)
        {
            if (message.HostId != server.HostId)
            {
                throw new Exception($"{nameof(message.HostId)} doesn't match the one of server. Expected {server.HostId} but actually {message.HostId}.");
            }

            return(message);
        }
示例#3
0
        public static JObject RetrieveDependencyDiagnosticsCollection(this DthMessage message)
        {
            Assert.NotNull(message);
            Assert.Equal("DependencyDiagnostics", message.MessageType);

            var payload = message.Payload as JObject;

            Assert.NotNull(payload);

            return(payload);
        }
示例#4
0
        public static DthMessage EnsureNotContainDependency(this DthMessage message, string dependencyName)
        {
            Assert.NotNull(message);
            Assert.Equal("Dependencies", message.MessageType);

            var payload = message.Payload as JObject;

            Assert.NotNull(payload);

            Assert.True(payload["Dependencies"][dependencyName] == null, $"Unexpected dependency {dependencyName} exists.");

            return(message);
        }
示例#5
0
        public static JObject RetrieveDependency(this DthMessage message, string dependencyName)
        {
            Assert.NotNull(message);
            Assert.Equal("Dependencies", message.MessageType);

            var payload = message.Payload as JObject;

            Assert.NotNull(payload);

            var dependency = payload["Dependencies"][dependencyName] as JObject;

            Assert.NotNull(dependency);
            Assert.Equal(dependencyName, dependency["Name"].Value <string>());

            return(dependency);
        }
示例#6
0
        private static bool MatchesFramework(FrameworkName targetFramework, DthMessage msg)
        {
            if (msg.Payload.Type != JTokenType.Object)
            {
                return(false);
            }

            var frameworkObj = msg.Payload["Framework"];

            if (frameworkObj == null || !frameworkObj.HasValues)
            {
                return(false);
            }

            return(string.Equals(frameworkObj.Value <string>("FrameworkName"), targetFramework.FullName, StringComparison.OrdinalIgnoreCase));
        }