Exemple #1
0
        public void Persist(Daffodil daffodil)
        {
#if DEBUG
            Assert.Fail(() => (!String.IsNullOrWhiteSpace(_serviceUrl)), "You are a big dummy!");
#endif

            this.CreateDomainIfNecessary("daffodil");

            var client     = this.GetClient();
            var attributes = new List <ReplaceableAttribute>
            {
                new ReplaceableAttribute
                {
                    Name    = "Id",
                    Replace = true,
                    Value   = daffodil.Id,
                },
                new ReplaceableAttribute
                {
                    Name    = "Data",
                    Replace = true,
                    Value   = daffodil.Data,
                }
            };

            var request = new PutAttributesRequest
            {
                DomainName = "daffodil",
                Attribute  = attributes,
                ItemName   = daffodil.Id
            };
            client.PutAttributes(request);
        }
Exemple #2
0
        public virtual List <Daffodil> ReadDaffodils()
        {
            var daffodils = new List <Daffodil>();

            var client  = this.GetClient();
            var request = new SelectRequest
            {
                SelectExpression = "SELECT * FROM daffodil",
            };

            var response = client.Select(request);
            var items    = response.SelectResult.Item;

            foreach (var item in items)
            {
                var idFromDb   = item.Attribute.First(x => x.Name == "Id").Value;
                var dataFromDb = item.Attribute.First(x => x.Name == "Data").Value;

                var daffodil = new Daffodil
                {
                    Id   = idFromDb,
                    Data = dataFromDb,
                };

                daffodils.Add(daffodil);
            }

            return(daffodils);
        }
        public void Persist_persists_without_error()
        {
            var config   = this.AwsConfig;
            var provider = new SimpleDbProvider(config);
            var daffodil = new Daffodil {
                Id = "foo2", Data = "bar2"
            };

            provider.Persist(daffodil);
        }
        public ActionResult Data(string id, string data)
        {
            var config = this.AwsConfig;

            var queueProvider = new QueueProvider(config);
            var daffodil      = new Daffodil
            {
                Id   = id,
                Data = data,
            };

            queueProvider.SendMessage("daffodils", daffodil);
            return(Content("success"));
        }
        public void SendMessage_sends_without_error()
        {
            var config    = this.AwsConfig;
            var provider  = new QueueProvider(config);
            var queueName = Guid.NewGuid().ToString().Replace("-", "");

            provider.CreateQueue(queueName);

            var daffodil = new Daffodil
            {
                Id   = "123456",
                Data = "Long John Silver Was A Beastly Pirate Who Sailed The Seven Seas"
            };

            provider.SendMessage(queueName, daffodil);
        }
        public void ReadDaffodils_successfully_reads()
        {
            // Arrange
            var config   = this.AwsConfig;
            var provider = new SimpleDbProvider(config);
            var daffodil = new Daffodil {
                Id = "foo", Data = "bar"
            };

            provider.Persist(daffodil);

            // Act
            var daffodilsFromDb = provider.ReadDaffodils();

            // Assert
            Assert.That(daffodilsFromDb.Count, Is.GreaterThanOrEqualTo(1));
        }
        public void Read_successfully_reads()
        {
            // Arrange
            var config   = this.AwsConfig;
            var provider = new SimpleDbProvider(config);
            var daffodil = new Daffodil {
                Id = "foo", Data = "bar"
            };

            provider.Persist(daffodil);

            // Act
            var daffodilFromDb = provider.Read("daffodil", "foo");

            // Assert
            Assert.That(daffodilFromDb.Data, Is.EqualTo("bar"));
        }
        public virtual void SendMessage(string queueName, Daffodil daffodil)
        {
#if DEBUG
            Assert.Fail(() => (!String.IsNullOrWhiteSpace(_baseUrl)), "Hey!  Your _baseUrl is null or blank, dummy!");
#endif

            this.CreateQueueIfNecessary(queueName);

            var serializedData = daffodil.SerializeToJson <Daffodil>();

            var client  = this.GetClient();
            var request = new SendMessageRequest
            {
                MessageBody = serializedData,
                QueueUrl    = this.CalculateQueueUrl(_baseUrl, queueName),
            };

            var response = client.SendMessage(request);
        }
Exemple #9
0
        public virtual Daffodil Read(string domain, string id)
        {
            var client  = this.GetClient();
            var request = new GetAttributesRequest
            {
                ItemName   = id,
                DomainName = domain,
            };

            var response   = client.GetAttributes(request);
            var attributes = response.GetAttributesResult.Attribute;
            var idFromDb   = attributes.First(x => x.Name == "Id").Value;
            var dataFromDb = attributes.First(x => x.Name == "Data").Value;

            var daffodil = new Daffodil
            {
                Id   = idFromDb,
                Data = dataFromDb,
            };

            return(daffodil);
        }
        public void ReadMessage_reads_from_queue()
        {
            var config   = this.AwsConfig;
            var provider = new QueueProvider(config);

            var data     = "Alexander the Great";
            var id       = "123";
            var daffodil = new Daffodil {
                Id = id, Data = data
            };

            var temp = Guid.NewGuid().ToString().Replace("-", "");

            provider.SendMessage(temp, daffodil);

            Thread.Sleep(2000);

            var newDaffodil = provider.ReadMessage(temp);

            Assert.That(newDaffodil.Data, Is.EqualTo(data));
            Assert.That(newDaffodil.Id, Is.EqualTo(id));
        }
        public virtual Daffodil ReadMessage(string queueName)
        {
            Daffodil daffodil = null;

            var client  = this.GetClient();
            var request = new ReceiveMessageRequest
            {
                QueueUrl            = this.CalculateQueueUrl(_baseUrl, queueName),
                MaxNumberOfMessages = 1,
            };

            var response = client.ReceiveMessage(request);

            if (response.IsSetReceiveMessageResult())
            {
                var messageResult = response.ReceiveMessageResult;
                if (messageResult.IsSetMessage())
                {
                    var messages = messageResult.Message;
                    if ((messages != null) &&
                        (messages.Count > 0))
                    {
                        var message = messages.First();
                        if (message != null)
                        {
                            if (message.IsSetBody())
                            {
                                var body = message.Body;
                                daffodil = body.DeserializeFromJson <Daffodil>();
                            }
                        }
                    }
                }
            }

            return(daffodil);
        }