コード例 #1
0
ファイル: InsertTests.cs プロジェクト: laneser/csharp-driver
        public void Insert_TableNameLowerCase_PartitionKeyLowerCase()
        {
            var tableName     = TestUtils.GetUniqueTableName().ToLowerInvariant();
            var mappingConfig = new MappingConfiguration().Define(new Map <lowercaseclassnamepklowercase>().TableName(tableName).PartitionKey(c => c.somepartitionkey));
            Table <lowercaseclassnamepklowercase> table = new Table <lowercaseclassnamepklowercase>(_session, mappingConfig);

            table.Create();

            var cqlClient = new Mapper(_session, new MappingConfiguration());
            lowercaseclassnamepklowercase defaultPocoInstance = new lowercaseclassnamepklowercase();

            cqlClient.Insert(defaultPocoInstance);
            List <lowercaseclassnamepklowercase> instancesQueried = cqlClient.Fetch <lowercaseclassnamepklowercase>().ToList();

            Assert.AreEqual(1, instancesQueried.Count);
            lowercaseclassnamepklowercase defaultInstance = new lowercaseclassnamepklowercase();

            Assert.AreEqual(defaultInstance.somepartitionkey, instancesQueried[0].somepartitionkey);

            // using standard cql
            string     cqlLowerCasePartitionKey = "SELECT * from " + typeof(lowercaseclassnamepklowercase).Name + " where \"somepartitionkey\" = '" + defaultPocoInstance.somepartitionkey + "'";
            List <Row> rows = _session.Execute(cqlLowerCasePartitionKey).GetRows().ToList();

            Assert.AreEqual(1, rows.Count);
            Assert.AreEqual(defaultPocoInstance.somepartitionkey, rows[0].GetValue <string>("somepartitionkey"));
        }
コード例 #2
0
        public void Insert_Async()
        {
            // Setup
            var mappingConfig = new MappingConfiguration().Define(new Map <lowercaseclassnamepklowercase>().PartitionKey(c => c.somepartitionkey).CaseSensitive());
            var table         = new Table <lowercaseclassnamepklowercase>(_session, mappingConfig);

            Assert.AreEqual(table.Name, table.Name.ToLower());
            table.Create();

            // Insert using Mapper.Insert
            lowercaseclassnamepklowercase privateClassInstance = new lowercaseclassnamepklowercase();
            var mapper = new Mapper(_session, mappingConfig);

            mapper.InsertAsync(privateClassInstance).Wait();

            // Validate data in C*
            List <lowercaseclassnamepklowercase> instancesQueried = mapper.Fetch <lowercaseclassnamepklowercase>().ToList();
            DateTime futureDateTime = DateTime.Now.AddSeconds(2);

            while (instancesQueried.Count < 1 && futureDateTime > DateTime.Now)
            {
                instancesQueried = mapper.Fetch <lowercaseclassnamepklowercase>().ToList();
            }
            Assert.AreEqual(1, instancesQueried.Count);
            lowercaseclassnamepklowercase defaultInstance = new lowercaseclassnamepklowercase();

            Assert.AreEqual(defaultInstance.somepartitionkey, instancesQueried[0].somepartitionkey);
        }
コード例 #3
0
ファイル: InsertTests.cs プロジェクト: laneser/csharp-driver
        public void Insert_WithConsistency_OneMoreCopyThanNodeCount()
        {
            // Setup
            var mappingConfig =
                new MappingConfiguration().Define(new Map <lowercaseclassnamepklowercase>().PartitionKey(c => c.somepartitionkey).CaseSensitive());
            // Insert the data
            lowercaseclassnamepklowercase privateClassInstance = new lowercaseclassnamepklowercase();
            var mapper = new Mapper(_session, mappingConfig);

            Assert.Throws <UnavailableException>(() => mapper.Insert(privateClassInstance, new CqlQueryOptions().SetConsistencyLevel(ConsistencyLevel.Two)));
        }
コード例 #4
0
        public void Insert_WithConsistency_Serial()
        {
            // Setup
            var mappingConfig = new MappingConfiguration().Define(new Map <lowercaseclassnamepklowercase>()
                                                                  .TableName(TestUtils.GetUniqueTableName().ToLowerInvariant()).PartitionKey(c => c.somepartitionkey).CaseSensitive());
            var table = new Table <lowercaseclassnamepklowercase>(_session, mappingConfig);

            table.Create();

            // Insert the data
            var mapper = new Mapper(_session, mappingConfig);
            lowercaseclassnamepklowercase pocoInstance = new lowercaseclassnamepklowercase();

            // No conditional INSERT, it must fail with serial consistency
            Assert.Throws <InvalidQueryException>(
                () => mapper.Insert(pocoInstance, new CqlQueryOptions().SetConsistencyLevel(ConsistencyLevel.Serial)));
        }
コード例 #5
0
ファイル: InsertTests.cs プロジェクト: jorgebay/csharp-driver
        public void Insert_Sync()
        {
            // Setup
            var mappingConfig = new MappingConfiguration().Define(new Map<lowercaseclassnamepklowercase>()
                .TableName(TestUtils.GetUniqueTableName().ToLowerInvariant()).PartitionKey(c => c.somepartitionkey).CaseSensitive());
            var table = new Table<lowercaseclassnamepklowercase>(_session, mappingConfig);
            Assert.AreEqual(table.Name, table.Name.ToLower());
            table.Create();

            // Insert using Mapper.Insert
            lowercaseclassnamepklowercase privateClassInstance = new lowercaseclassnamepklowercase();
            var mapper = new Mapper(_session, mappingConfig);
            mapper.Insert(privateClassInstance);
            List<lowercaseclassnamepklowercase> instancesQueried = mapper.Fetch<lowercaseclassnamepklowercase>().ToList();
            Assert.AreEqual(1, instancesQueried.Count);
            lowercaseclassnamepklowercase defaultInstance = new lowercaseclassnamepklowercase();
            Assert.AreEqual(defaultInstance.somepartitionkey, instancesQueried[0].somepartitionkey);
        }
コード例 #6
0
        public void Insert_WithSessionExecuteTableInsert()
        {
            // Setup
            string uniqueTableName = TestUtils.GetUniqueTableName().ToLowerInvariant();
            var    mappingConfig   = new MappingConfiguration().Define(new Map <lowercaseclassnamepklowercase>().TableName(uniqueTableName).PartitionKey(c => c.somepartitionkey).CaseSensitive());
            var    table           = new Table <lowercaseclassnamepklowercase>(_session, mappingConfig);

            table.Create();

            // Insert the data
            lowercaseclassnamepklowercase defaultPocoInstance = new lowercaseclassnamepklowercase();

            _session.Execute(table.Insert(defaultPocoInstance));
            var mapper = new Mapper(_session, mappingConfig);
            List <lowercaseclassnamepklowercase> instancesQueried = mapper.Fetch <lowercaseclassnamepklowercase>("SELECT * from " + table.Name).ToList();

            Assert.AreEqual(1, instancesQueried.Count);
            lowercaseclassnamepklowercase defaultInstance = new lowercaseclassnamepklowercase();

            Assert.AreEqual(defaultInstance.somepartitionkey, instancesQueried[0].somepartitionkey);
        }
コード例 #7
0
        public void Insert_Sync()
        {
            // Setup
            var mappingConfig = new MappingConfiguration().Define(new Map <lowercaseclassnamepklowercase>()
                                                                  .TableName(TestUtils.GetUniqueTableName().ToLowerInvariant()).PartitionKey(c => c.somepartitionkey).CaseSensitive());
            var table = new Table <lowercaseclassnamepklowercase>(_session, mappingConfig);

            Assert.AreEqual(table.Name, table.Name.ToLower());
            table.Create();

            // Insert using Mapper.Insert
            lowercaseclassnamepklowercase privateClassInstance = new lowercaseclassnamepklowercase();
            var mapper = new Mapper(_session, mappingConfig);

            mapper.Insert(privateClassInstance);
            List <lowercaseclassnamepklowercase> instancesQueried = mapper.Fetch <lowercaseclassnamepklowercase>().ToList();

            Assert.AreEqual(1, instancesQueried.Count);
            lowercaseclassnamepklowercase defaultInstance = new lowercaseclassnamepklowercase();

            Assert.AreEqual(defaultInstance.somepartitionkey, instancesQueried[0].somepartitionkey);
        }
コード例 #8
0
        public void Insert_WithConsistency_Serial()
        {
            // Setup
            var mappingConfig = new MappingConfiguration().Define(new Map <lowercaseclassnamepklowercase>()
                                                                  .TableName(TestUtils.GetUniqueTableName().ToLowerInvariant()).PartitionKey(c => c.somepartitionkey).CaseSensitive());
            var table = new Table <lowercaseclassnamepklowercase>(_session, mappingConfig);

            table.Create();

            // Insert the data
            var mapper = new Mapper(_session, mappingConfig);
            lowercaseclassnamepklowercase pocoInstance = new lowercaseclassnamepklowercase();

            // Assert final state of C* data
            var err = Assert.Throws <RequestInvalidException>(
                () => mapper.Insert(pocoInstance, new CqlQueryOptions().SetConsistencyLevel(ConsistencyLevel.Serial)));

            Assert.AreEqual("Serial consistency specified as a non-serial one.", err.Message);
            List <lowercaseclassnamepklowercase> instancesQueried = mapper.Fetch <lowercaseclassnamepklowercase>().ToList();

            Assert.AreEqual(0, instancesQueried.Count);
        }
コード例 #9
0
        public void Insert_WithConsistency_Success()
        {
            // Setup
            var mappingConfig = new MappingConfiguration().Define(new Map <lowercaseclassnamepklowercase>()
                                                                  .TableName(TestUtils.GetUniqueTableName().ToLowerInvariant()).PartitionKey(c => c.somepartitionkey).CaseSensitive());
            var table = new Table <lowercaseclassnamepklowercase>(_session, mappingConfig);

            table.Create();
            var mapper = new Mapper(_session, mappingConfig);

            // Insert the data
            var consistencyLevels = new []
            {
                ConsistencyLevel.All,
                ConsistencyLevel.Any,
                ConsistencyLevel.EachQuorum,
                ConsistencyLevel.LocalOne,
                ConsistencyLevel.LocalQuorum,
                ConsistencyLevel.Quorum,
            };

            foreach (var consistencyLevel in consistencyLevels)
            {
                lowercaseclassnamepklowercase pocoInstance = new lowercaseclassnamepklowercase();
                pocoInstance.somepartitionkey = Guid.NewGuid().ToString();
                mapper.Insert(pocoInstance, new CqlQueryOptions().SetConsistencyLevel(consistencyLevel));

                // Assert final state of C* data
                string cql = "Select * from " + table.Name + " where somepartitionkey ='" + pocoInstance.somepartitionkey + "'";
                List <lowercaseclassnamepklowercase> instancesQueried = mapper.Fetch <lowercaseclassnamepklowercase>(cql).ToList();
                DateTime futureDateTime = DateTime.Now.AddSeconds(2);
                while (instancesQueried.Count < 1 && futureDateTime > DateTime.Now)
                {
                    instancesQueried = mapper.Fetch <lowercaseclassnamepklowercase>(cql).ToList();
                }
                Assert.AreEqual(1, instancesQueried.Count, "Unexpected failure for consistency level: " + consistencyLevel);
                Assert.AreEqual(pocoInstance.somepartitionkey, instancesQueried[0].somepartitionkey);
            }
        }
コード例 #10
0
        public void Insert_ClassAndPartitionKeyAreCamelCase()
        {
            var mappingConfig = new MappingConfiguration().Define(new Map <PrivateClassWithClassNameCamelCase>().PartitionKey(c => c.SomePartitionKey));
            Table <PrivateClassWithClassNameCamelCase> table = new Table <PrivateClassWithClassNameCamelCase>(_session, mappingConfig);

            Assert.AreNotEqual(table.Name, table.Name.ToLower());
            table.Create();

            var mapper = new Mapper(_session, new MappingConfiguration());
            PrivateClassWithClassNameCamelCase privateClassCamelCase = new PrivateClassWithClassNameCamelCase();

            mapper.Insert(privateClassCamelCase);

            List <lowercaseclassnamepklowercase> instancesQueried = mapper.Fetch <lowercaseclassnamepklowercase>("SELECT * from " + table.Name).ToList();

            Assert.AreEqual(1, instancesQueried.Count);
            lowercaseclassnamepklowercase defaultInstance = new lowercaseclassnamepklowercase();

            Assert.AreEqual(defaultInstance.somepartitionkey, instancesQueried[0].somepartitionkey);

            Assert.IsFalse(TestUtils.TableExists(_session, _uniqueKsName, typeof(PrivateClassWithClassNameCamelCase).Name));
            Assert.IsTrue(TestUtils.TableExists(_session, _uniqueKsName, typeof(PrivateClassWithClassNameCamelCase).Name.ToLower()));
        }
コード例 #11
0
        public void Insert_WithConsistencyLevel_Fail()
        {
            // Setup
            var tableName     = TestUtils.GetUniqueTableName().ToLowerInvariant();
            var mappingConfig =
                new MappingConfiguration().Define(new Map <lowercaseclassnamepklowercase>().PartitionKey(c => c.somepartitionkey).TableName(tableName).CaseSensitive());
            var table = new Table <lowercaseclassnamepklowercase>(_session, mappingConfig);

            table.Create();

            // Insert the data
            var consistencyLevels = new []
            {
                ConsistencyLevel.Three,
                ConsistencyLevel.Two
            };
            var mapper = new Mapper(_session, mappingConfig);

            foreach (var consistencyLevel in consistencyLevels)
            {
                lowercaseclassnamepklowercase privateClassInstance = new lowercaseclassnamepklowercase();
                Assert.Throws <UnavailableException>(() => mapper.Insert(privateClassInstance, new CqlQueryOptions().SetConsistencyLevel(consistencyLevel)));
            }
        }
コード例 #12
0
ファイル: InsertTests.cs プロジェクト: jorgebay/csharp-driver
        public void Insert_Async()
        {
            // Setup
            var mappingConfig = new MappingConfiguration().Define(new Map<lowercaseclassnamepklowercase>().PartitionKey(c => c.somepartitionkey).CaseSensitive());
            var table = new Table<lowercaseclassnamepklowercase>(_session, mappingConfig);
            Assert.AreEqual(table.Name, table.Name.ToLower());
            table.Create();

            // Insert using Mapper.Insert
            lowercaseclassnamepklowercase privateClassInstance = new lowercaseclassnamepklowercase();
            var mapper = new Mapper(_session, mappingConfig);
            mapper.InsertAsync(privateClassInstance).Wait();

            // Validate data in C*
            List<lowercaseclassnamepklowercase> instancesQueried = mapper.Fetch<lowercaseclassnamepklowercase>().ToList();
            DateTime futureDateTime = DateTime.Now.AddSeconds(2);
            while (instancesQueried.Count < 1 && futureDateTime > DateTime.Now)
            {
                instancesQueried = mapper.Fetch<lowercaseclassnamepklowercase>().ToList();
            }
            Assert.AreEqual(1, instancesQueried.Count);
            lowercaseclassnamepklowercase defaultInstance = new lowercaseclassnamepklowercase();
            Assert.AreEqual(defaultInstance.somepartitionkey, instancesQueried[0].somepartitionkey);
        }
コード例 #13
0
ファイル: InsertTests.cs プロジェクト: Virus-X/csharp-driver
        public void Insert_WithConsistency_Serial()
        {
            // Setup
            var mappingConfig = new MappingConfiguration().Define(new Map<lowercaseclassnamepklowercase>()
                .TableName(TestUtils.GetUniqueTableName().ToLowerInvariant()).PartitionKey(c => c.somepartitionkey).CaseSensitive());
            var table = new Table<lowercaseclassnamepklowercase>(_session, mappingConfig);
            table.Create();

            // Insert the data
            var mapper = new Mapper(_session, mappingConfig);
            lowercaseclassnamepklowercase pocoInstance = new lowercaseclassnamepklowercase();

            // Assert final state of C* data
            var err = Assert.Throws<RequestInvalidException>(
                () => mapper.Insert(pocoInstance, new CqlQueryOptions().SetConsistencyLevel(ConsistencyLevel.Serial)));
            Assert.AreEqual("Serial consistency specified as a non-serial one.", err.Message);
            List<lowercaseclassnamepklowercase> instancesQueried = mapper.Fetch<lowercaseclassnamepklowercase>().ToList();
            Assert.AreEqual(0, instancesQueried.Count);
        }
コード例 #14
0
ファイル: InsertTests.cs プロジェクト: jorgebay/csharp-driver
        public void Insert_WithConsistency_Success()
        {
            // Setup
            var mappingConfig = new MappingConfiguration().Define(new Map<lowercaseclassnamepklowercase>()
                .TableName(TestUtils.GetUniqueTableName().ToLowerInvariant()).PartitionKey(c => c.somepartitionkey).CaseSensitive());
            var table = new Table<lowercaseclassnamepklowercase>(_session, mappingConfig);
            table.Create();
            var mapper = new Mapper(_session, mappingConfig);

            // Insert the data
            var consistencyLevels = new []
            {
                ConsistencyLevel.All,
                ConsistencyLevel.Any,
                ConsistencyLevel.EachQuorum,
                ConsistencyLevel.LocalOne,
                ConsistencyLevel.LocalQuorum,
                ConsistencyLevel.Quorum,
            };
            foreach (var consistencyLevel in consistencyLevels)
            {
                lowercaseclassnamepklowercase pocoInstance = new lowercaseclassnamepklowercase();
                pocoInstance.somepartitionkey = Guid.NewGuid().ToString();
                mapper.Insert(pocoInstance, new CqlQueryOptions().SetConsistencyLevel(consistencyLevel));

                // Assert final state of C* data
                string cql = "Select * from " + table.Name + " where somepartitionkey ='" + pocoInstance.somepartitionkey + "'";
                List<lowercaseclassnamepklowercase> instancesQueried = mapper.Fetch<lowercaseclassnamepklowercase>(cql).ToList();
                DateTime futureDateTime = DateTime.Now.AddSeconds(2);
                while (instancesQueried.Count < 1 && futureDateTime > DateTime.Now)
                {
                    instancesQueried = mapper.Fetch<lowercaseclassnamepklowercase>(cql).ToList();
                }
                Assert.AreEqual(1, instancesQueried.Count, "Unexpected failure for consistency level: " + consistencyLevel);
                Assert.AreEqual(pocoInstance.somepartitionkey, instancesQueried[0].somepartitionkey);
            }
        }
コード例 #15
0
ファイル: InsertTests.cs プロジェクト: Virus-X/csharp-driver
        public void Insert_TableNameLowerCase_PartitionKeyLowerCase()
        {
            var tableName = TestUtils.GetUniqueTableName().ToLowerInvariant();
            var mappingConfig = new MappingConfiguration().Define(new Map<lowercaseclassnamepklowercase>().TableName(tableName).PartitionKey(c => c.somepartitionkey));
            Table<lowercaseclassnamepklowercase> table = new Table<lowercaseclassnamepklowercase>(_session, mappingConfig);
            table.Create();

            var cqlClient = new Mapper(_session, new MappingConfiguration());
            lowercaseclassnamepklowercase defaultPocoInstance = new lowercaseclassnamepklowercase();

            cqlClient.Insert(defaultPocoInstance);
            List<lowercaseclassnamepklowercase> instancesQueried = cqlClient.Fetch<lowercaseclassnamepklowercase>().ToList();
            Assert.AreEqual(1, instancesQueried.Count);
            lowercaseclassnamepklowercase defaultInstance = new lowercaseclassnamepklowercase();
            Assert.AreEqual(defaultInstance.somepartitionkey, instancesQueried[0].somepartitionkey);

            // using standard cql
            string cqlLowerCasePartitionKey = "SELECT * from " + typeof(lowercaseclassnamepklowercase).Name + " where \"somepartitionkey\" = '" + defaultPocoInstance.somepartitionkey + "'";
            List<Row> rows = _session.Execute(cqlLowerCasePartitionKey).GetRows().ToList();
            Assert.AreEqual(1, rows.Count);
            Assert.AreEqual(defaultPocoInstance.somepartitionkey, rows[0].GetValue<string>("somepartitionkey"));

        }
コード例 #16
0
ファイル: InsertTests.cs プロジェクト: jorgebay/csharp-driver
        public void Insert_ClassAndPartitionKeyAreCamelCase()
        {
            var mappingConfig = new MappingConfiguration().Define(new Map<PrivateClassWithClassNameCamelCase>().PartitionKey(c => c.SomePartitionKey));
            Table<PrivateClassWithClassNameCamelCase> table = new Table<PrivateClassWithClassNameCamelCase>(_session, mappingConfig);
            Assert.AreNotEqual(table.Name, table.Name.ToLower());
            table.Create();

            var mapper = new Mapper(_session, new MappingConfiguration());
            PrivateClassWithClassNameCamelCase privateClassCamelCase = new PrivateClassWithClassNameCamelCase();
            mapper.Insert(privateClassCamelCase);

            List<lowercaseclassnamepklowercase> instancesQueried = mapper.Fetch<lowercaseclassnamepklowercase>("SELECT * from " + table.Name).ToList();
            Assert.AreEqual(1, instancesQueried.Count);
            lowercaseclassnamepklowercase defaultInstance = new lowercaseclassnamepklowercase();
            Assert.AreEqual(defaultInstance.somepartitionkey, instancesQueried[0].somepartitionkey);

            Assert.Throws<InvalidQueryException>(() => TestUtils.TableExists(_session, _uniqueKsName, typeof (PrivateClassWithClassNameCamelCase).Name, true));
            Assert.IsTrue(TestUtils.TableExists(_session, _uniqueKsName, typeof(PrivateClassWithClassNameCamelCase).Name.ToLower(), true));
        }
コード例 #17
0
ファイル: InsertTests.cs プロジェクト: jorgebay/csharp-driver
        public void Insert_WithSessionExecuteTableInsert()
        {
            // Setup
            string uniqueTableName = TestUtils.GetUniqueTableName().ToLowerInvariant();
            var mappingConfig = new MappingConfiguration().Define(new Map<lowercaseclassnamepklowercase>().TableName(uniqueTableName).PartitionKey(c => c.somepartitionkey).CaseSensitive());
            var table = new Table<lowercaseclassnamepklowercase>(_session, mappingConfig);
            table.Create();

            // Insert the data
            lowercaseclassnamepklowercase defaultPocoInstance = new lowercaseclassnamepklowercase();
            _session.Execute(table.Insert(defaultPocoInstance));
            var mapper = new Mapper(_session, mappingConfig);
            List<lowercaseclassnamepklowercase> instancesQueried = mapper.Fetch<lowercaseclassnamepklowercase>("SELECT * from " + table.Name).ToList();
            Assert.AreEqual(1, instancesQueried.Count);
            lowercaseclassnamepklowercase defaultInstance = new lowercaseclassnamepklowercase();
            Assert.AreEqual(defaultInstance.somepartitionkey, instancesQueried[0].somepartitionkey);
        }
コード例 #18
0
ファイル: InsertTests.cs プロジェクト: jorgebay/csharp-driver
        public void Insert_Async_WithConsistency_OneMoreCopyThanNodeCount()
        {
            // Setup
            var mappingConfig =
                new MappingConfiguration().Define(new Map<lowercaseclassnamepklowercase>().PartitionKey(c => c.somepartitionkey).CaseSensitive());

            // Insert the data
            lowercaseclassnamepklowercase privateClassInstance = new lowercaseclassnamepklowercase();
            var mapper = new Mapper(_session, mappingConfig);
            Assert.Throws<AggregateException>(() => mapper.InsertAsync(privateClassInstance, new CqlQueryOptions().SetConsistencyLevel(ConsistencyLevel.Two)).Wait());
        }
コード例 #19
0
ファイル: InsertTests.cs プロジェクト: jorgebay/csharp-driver
        public void Insert_WithConsistencyLevel_Fail()
        {
            // Setup
            var tableName = TestUtils.GetUniqueTableName().ToLowerInvariant();
            var mappingConfig =
                new MappingConfiguration().Define(new Map<lowercaseclassnamepklowercase>().PartitionKey(c => c.somepartitionkey).TableName(tableName).CaseSensitive());
            var table = new Table<lowercaseclassnamepklowercase>(_session, mappingConfig);
            table.Create();

            // Insert the data
            var consistencyLevels = new []
            {
                ConsistencyLevel.Three,
                ConsistencyLevel.Two
            };
            var mapper = new Mapper(_session, mappingConfig);
            foreach (var consistencyLevel in consistencyLevels)
            {
                lowercaseclassnamepklowercase privateClassInstance = new lowercaseclassnamepklowercase();
                Assert.Throws<UnavailableException>(() => mapper.Insert(privateClassInstance, new CqlQueryOptions().SetConsistencyLevel(consistencyLevel)));
            }
        }
コード例 #20
0
ファイル: InsertTests.cs プロジェクト: jorgebay/csharp-driver
        public void Insert_WithConsistency_Serial()
        {
            // Setup
            var mappingConfig = new MappingConfiguration().Define(new Map<lowercaseclassnamepklowercase>()
                .TableName(TestUtils.GetUniqueTableName().ToLowerInvariant()).PartitionKey(c => c.somepartitionkey).CaseSensitive());
            var table = new Table<lowercaseclassnamepklowercase>(_session, mappingConfig);
            table.Create();

            // Insert the data
            var mapper = new Mapper(_session, mappingConfig);
            lowercaseclassnamepklowercase pocoInstance = new lowercaseclassnamepklowercase();

            // No conditional INSERT, it must fail with serial consistency
            Assert.Throws<InvalidQueryException>(
                () => mapper.Insert(pocoInstance, new CqlQueryOptions().SetConsistencyLevel(ConsistencyLevel.Serial)));
        }