public void CannotParseInvalidKeyPairsPayload()
 {
     var converter = new ComputeKeyPairPayloadConverter();
     converter.ConvertKeyPairs("NOT JSON");
 }
 public void CannotParseANullKeyPairsPayload()
 {
     var converter = new ComputeKeyPairPayloadConverter();
     converter.ConvertKeyPairs(null);
 }
 public void CannotParseInvalidKeyPairsJsonPayload()
 {
     var converter = new ComputeKeyPairPayloadConverter();
     converter.ConvertKeyPairs("[ { \"SomeAtrib\" }]");
 }
        public void CanParseValidKeyPairsPayloadWithEmptyJsonArray()
        {
            var emptyJsonArray = @"{ ""keypairs"": [ ] }";

            var converter = new ComputeKeyPairPayloadConverter();
            var containers = converter.ConvertKeyPairs(emptyJsonArray).ToList();

            Assert.AreEqual(0, containers.Count());
        }
        public void CanParseAnEmptyKeyPairsPayload()
        {
            var payload = string.Empty;

            var converter = new ComputeKeyPairPayloadConverter();
            var containers = converter.ConvertKeyPairs(payload).ToList();

            Assert.AreEqual(0, containers.Count());
        }
        public void CanConvertValidJsonPayloadWithSingleKeyPair()
        {
            var validKeyPairsJsonFixture = @"{{ ""keypairs"": [ {0} ] }}";
            var firstKey = CreateKeyPairJsonFixtrue("Key1", "12345", "abcdef");

            var validKeyPairsJson = string.Format(validKeyPairsJsonFixture, firstKey);

            var converter = new ComputeKeyPairPayloadConverter();
            var pairs = converter.ConvertKeyPairs(validKeyPairsJson).ToList();

            Assert.AreEqual(1, pairs.Count());
            var key1 = pairs.First(o => string.Equals(o.Name, "Key1", StringComparison.InvariantCultureIgnoreCase));
            Assert.IsNotNull(key1);

            Assert.AreEqual("12345", key1.PublicKey);
            Assert.AreEqual("abcdef", key1.Fingerprint);
        }
        public void CanParseValidJsonPayloadWithMultipleKeyPairs()
        {
            var validMultipleKeyPairsJsonFixture = @"{{ ""keypairs"": [ {0} ] }}";
            var firstKey = CreateKeyPairJsonFixtrue("Key1", "12345", "abcdef");
            var secondKey = CreateKeyPairJsonFixtrue("Key2", "54321", "fedcba");

            var validMultipleKeyPairsJson = string.Format(validMultipleKeyPairsJsonFixture,
                string.Join(",", new List<string>() {firstKey, secondKey}));

            var converter = new ComputeKeyPairPayloadConverter();
            var pairs = converter.ConvertKeyPairs(validMultipleKeyPairsJson).ToList();

            Assert.AreEqual(2, pairs.Count());
            var key1 =
                pairs.First(o => string.Equals(o.Name, "Key1", StringComparison.InvariantCultureIgnoreCase));
            var key2 =
                pairs.First(o => string.Equals(o.Name, "Key2", StringComparison.InvariantCultureIgnoreCase));
            Assert.IsNotNull(key1);
            Assert.IsNotNull(key2);

            Assert.AreEqual("12345", key1.PublicKey);
            Assert.AreEqual("abcdef", key1.Fingerprint);

            Assert.AreEqual("54321", key2.PublicKey);
            Assert.AreEqual("fedcba", key2.Fingerprint);
        }
        public void CannotConvertNonObjectJsonToKeyPair()
        {
            var nonObjectJson = @"[]";

            var converter = new ComputeKeyPairPayloadConverter();
            converter.ConvertKeyPairs(nonObjectJson);
        }
        public void CannotConvertInvalidJsonToKeyPair()
        {
            var badJsonFixture = @"{ NOT JSON";

            var converter = new ComputeKeyPairPayloadConverter();
            converter.ConvertKeyPairs(badJsonFixture);
        }
        public void CannotConvertJsonPayloadEmptyObjectToKeyPair()
        {
            var emptyObjectFixture = @"{ }";

            var converter = new ComputeKeyPairPayloadConverter();
            converter.ConvertKeyPairs(emptyObjectFixture);
        }