public void CannotConvertJsonPayloadMissingNameToServer()
        {
            var serverPublicUri = "http://www.server.com/v2/servers/1";
            var serverPermUri   = "http://www.server.com/servers/1";
            var serverId        = "12345";
            var serverProgress  = 0;
            var serverState     = "ACTIVE";

            var payloadFixture = @"{{
                ""server"": {{
                    ""status"": ""{1}"",
                    ""updated"": ""2014-06-11T18:04:46Z"",
                    ""links"": [
                        {{
                            ""href"": ""{3}"",
                            ""rel"": ""self""
                        }},
                        {{
                            ""href"": ""{4}"",
                            ""rel"": ""bookmark""
                        }}
                    ],
                    ""id"": ""{0}"",
                    ""created"": ""2014-06-11T18:04:25Z"",
                    ""progress"": {2}
                }}
            }}";

            var missingFixture = string.Format(payloadFixture, serverId, serverState, serverProgress, serverPublicUri, serverPermUri);

            var converter = new ComputeServerPayloadConverter();

            converter.Convert(missingFixture);
        }
        public void CannotConvertNonObjectServerJsonToServer()
        {
            var nonObjectJson = @"[]";

            var converter = new ComputeServerPayloadConverter();

            converter.Convert(nonObjectJson);
        }
        public void CannotConvertInvalidServerJsonToServer()
        {
            var badJsonFixture = @"{ NOT JSON";

            var converter = new ComputeServerPayloadConverter();

            converter.Convert(badJsonFixture);
        }
        public void CannotConvertServerJsonPayloadEmptyObjectToServer()
        {
            var emptyObjectFixture = @"{ }";

            var converter = new ComputeServerPayloadConverter();

            converter.Convert(emptyObjectFixture);
        }
        public void CanConvertJsonPayloadMissingProgressToServer()
        {
            var serverPublicUri = "http://www.server.com/v2/servers/1";
            var serverPermUri   = "http://www.server.com/servers/1";
            var serverId        = "12345";
            var serverName      = "testServer";
            var serverState     = "ACTIVE";

            var payloadFixture = @"{{
                ""server"": {{
                    ""status"": ""{2}"",
                    ""updated"": ""2014-06-11T18:04:46Z"",
                    ""links"": [
                        {{
                            ""href"": ""{3}"",
                            ""rel"": ""self""
                        }},
                        {{
                            ""href"": ""{4}"",
                            ""rel"": ""bookmark""
                        }}
                    ],
                    ""id"": ""{0}"",
                    ""name"": ""{1}"",
                    ""created"": ""2014-06-11T18:04:25Z""
                }}
            }}";

            var missingFixture = string.Format(payloadFixture, serverId, serverName, serverState, serverPublicUri, serverPermUri);

            var converter = new ComputeServerPayloadConverter();
            var server    = converter.Convert(missingFixture);

            Assert.IsNotNull(server);
            Assert.AreEqual(serverId, server.Id);
            Assert.AreEqual(serverName, server.Name);
            Assert.AreEqual(serverState.ToLower(), server.Status.ToString().ToLower());
            Assert.AreEqual(0, server.Progress);
            Assert.AreEqual(new Uri(serverPermUri), server.PermanentUri);
            Assert.AreEqual(new Uri(serverPublicUri), server.PublicUri);
        }
        public void CanConvertJsonPayloadToServer()
        {
            var serverPublicUri = "http://www.server.com/v2/servers/1";
            var serverPermUri   = "http://www.server.com/servers/1";
            var serverId        = "12345";
            var serverName      = "testServer";
            var serverProgress  = 0;
            var serverState     = "ACTIVE";

            var computeServerFixture = CreateServerJsonFixtrue(serverName, serverId, serverState, serverProgress, serverPublicUri, serverPermUri);

            var converter = new ComputeServerPayloadConverter();
            var server    = converter.Convert(computeServerFixture);

            Assert.IsNotNull(server);
            Assert.AreEqual(serverId, server.Id);
            Assert.AreEqual(serverName, server.Name);
            Assert.AreEqual(serverState.ToLower(), server.Status.ToString().ToLower());
            Assert.AreEqual(serverProgress, server.Progress);
            Assert.AreEqual(new Uri(serverPermUri), server.PermanentUri);
            Assert.AreEqual(new Uri(serverPublicUri), server.PublicUri);
        }
        public void CannotConvertEmptyStringJsonToServer()
        {
            var converter = new ComputeServerPayloadConverter();

            converter.Convert(string.Empty);
        }
        public void CannotConvertNullJsonToServer()
        {
            var converter = new ComputeServerPayloadConverter();

            converter.Convert(null);
        }