Example #1
0
        public void TestNoDatabase(MongoDBWriteOperation operation)
        {
            fixtureMongoWrite.Operation        = operation;
            fixtureMongoWrite.Data             = "{}";
            fixtureMongoWrite.ConnectionString = "mongodb://localhost:27017/";

            Assert.That(() => fixtureMongoWrite.ExecuteCompiled(),
                        Throws.Exception.TypeOf <ExecuteException>()
                        .With.Property("Message").EqualTo("Database name not specified in connection string\r\nSee Code and Parameter properties for more information."));
        }
Example #2
0
        public void TestInvalidCriteria(MongoDBWriteOperation operation)
        {
            fixtureMongoWrite.Operation = operation;
            fixtureMongoWrite.Data      = "{}";
            fixtureMongoWrite.Criteria  = "This in invalid JSON.";

            Assert.That(() => fixtureMongoWrite.ExecuteCompiled(),
                        Throws.Exception.TypeOf <ExecuteException>()
                        .With.Property("Message").EqualTo("Invalid criteria\r\nSee Code and Parameter properties for more information."));
        }
Example #3
0
        private void ChangeOperation(MongoDBWriteOperation operation)
        {
            new List <string>
            {
                MongoDBWriteShared.Names.InsertIfNotFound,
                MongoDBWriteShared.Names.UpdateOperation,
                MongoDBWriteShared.Names.Criteria,
                MongoDBWriteShared.Names.Data,
            }.ToList().ForEach(v => { if (Properties.Contains(v))
                                      {
                                          Properties[v].IsVisible = false;
                                      }
                               });

            var visible = new List <string>();

            switch (operation)
            {
            case MongoDBWriteOperation.Replace:
                visible = new List <string>
                {
                    MongoDBWriteShared.Names.Data,
                    MongoDBWriteShared.Names.Criteria,
                    MongoDBWriteShared.Names.InsertIfNotFound
                };
                break;

            case MongoDBWriteOperation.Insert:
                visible = new List <string>
                {
                    MongoDBWriteShared.Names.Data,
                };
                break;

            case MongoDBWriteOperation.Update:
                visible = new List <string>
                {
                    MongoDBWriteShared.Names.Criteria,
                    MongoDBWriteShared.Names.UpdateOperation,
                    MongoDBWriteShared.Names.InsertIfNotFound,
                };
                break;

            case MongoDBWriteOperation.Delete:
                visible = new List <string>
                {
                    MongoDBWriteShared.Names.Criteria,
                };
                break;

            case MongoDBWriteOperation.DeleteAll:
            default:
                break;
            }
            visible.ForEach(v =>
            {
                if (Properties.Contains(v))
                {
                    Properties[v].IsVisible = true;
                }
            });
        }