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")); }
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); }
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))); }
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))); }
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); }
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); }
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); }
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); }
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); } }
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())); }
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))); } }
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); }
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); }
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); } }
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")); }
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)); }
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); }
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()); }
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))); } }
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))); }