public static async Task Main(string[] args) { try { IConfigurationRoot configuration = new ConfigurationBuilder() .AddJsonFile("appSettings.json") .Build(); //Initialize Cosmos Client _accountName = GetConfigValueOrDefault <string>(configuration, "AccountName", true); _accountKey = GetConfigValueOrDefault <string>(configuration, "AccountKey", true); _databaseId = GetConfigValueOrDefault <string>(configuration, "DatabaseId", true); _containerId = GetConfigValueOrDefault <string>(configuration, "ContainerId", true); _sqlClient = await CosmosClientSql.GetByAccountName(_accountName, _accountKey, _databaseId, _containerId, new CreateOptions(_databaseId, _containerId)); Console.Title = "CosmosDB.NET SQL Sample"; await new ConsoleREPL(new Program()).RunLoop(); } catch (CosmosException cre) { Console.WriteLine(cre.ToString()); } catch (Exception e) { Exception baseException = e.GetBaseException(); Console.WriteLine("Error: {0}, Message: {1}", e.Message, baseException.Message); } finally { Console.WriteLine("End of demo, press any key to exit."); Console.ReadKey(); } }
public async Task GetClientWithConnectionStringNoContainerContainerTrhoughput() { var dbId = "core"; var cId = "newContainer"; ICosmosClientSql client = null; try { await Assert.ThrowsExceptionAsync <CosmosException>(() => CosmosClientSql.GetByConnectionString(connectionString, dbId, cId)); client = await CosmosClientSql.GetByConnectionString(connectionString, dbId, cId, new CreateOptions(dbId, cId, "/pk") { DatabaseThrouhput = 400, ContainerThroughput = 400 }); //The database already exists, the new value we set should not have been applied. var databaseRUs = await client.Database.ReadThroughputAsync(); Assert.AreNotEqual(400, databaseRUs.Value); var container = await client.Container.ReadContainerAsync(); Assert.AreEqual("/pk", container.Resource.PartitionKeyPath); var containerRUs = await client.Container.ReadThroughputAsync(); Assert.AreEqual(400, containerRUs.Value); var read = await client.ExecuteSQL <int>($"SELECT VALUE COUNT(c) FROM c"); Assert.IsTrue(read.IsSuccessful); Assert.AreEqual(0, read.Result.FirstOrDefault()); } finally { await client?.Container.DeleteContainerAsync(); } }
public async Task GetClientWithConnectionString() { var ccq = await CosmosClientSql.GetByConnectionString(connectionString, databaseId, containerId); Assert.IsNotNull(ccq); var read = await ccq.ExecuteSQL <MovieFull>($"select * from c where c.Title = 'Avatar'"); Assert.IsTrue(read.IsSuccessful); }
public async Task GetClientWithAccountEndpoint() { var ccq = await CosmosClientSql.GetByAccountName(accountEndpoint, accountKey, databaseId, containerId); Assert.IsNotNull(ccq); var read = await ccq.ExecuteSQL <MovieFull>($"select * from c where c.Title = 'Avatar'"); Assert.IsTrue(read.IsSuccessful); }
public static async Task Initialize(TestContext context) { var moviesCsv = Helpers.GetFromCsv <MovieCsv>(moviesTestDataPath); var castCsv = Helpers.GetFromCsv <CastCsv>(castTestDataPath); var cast = castCsv.GroupBy(k => k.MovieId).ToDictionary(k => k.Key, v => v.ToList()); _moviesWithCast = moviesCsv.Select(m => MovieFull.GetMovieFull(m, cast.ContainsKey(m.TmdbId) ? cast[m.TmdbId] : new List <CastCsv>())).ToList(); //Don't add Cast into the movie document - testing performance vs graph _movies = moviesCsv.Select(m => MovieFull.GetMovieFull(m, new List <CastCsv>())).ToList(); Assert.AreEqual(4802, moviesCsv.Count()); _cosmosClient = await CosmosClientSql.GetByConnectionString(connectionString, databaseId, containerId); }
public async Task GetClientWithConnectionStringNoDatabaseNoContainerDatabaseAndContainerTrhoughput() { var dbId = DateTime.Now.Ticks.ToString(); var cId = "newContainer"; ICosmosClientSql client = null; try { await Assert.ThrowsExceptionAsync <CosmosException>(() => CosmosClientSql.GetByConnectionString(connectionString, dbId, cId)); client = await CosmosClientSql.GetByConnectionString(connectionString, dbId, cId, new CreateOptions(dbId, cId) { DatabaseThrouhput = 1000, ContainerThroughput = 1000 });;; var read = await client.ExecuteSQL <int>($"SELECT VALUE COUNT(c) FROM c"); Assert.IsTrue(read.IsSuccessful); Assert.AreEqual(0, read.Result.FirstOrDefault()); } finally { await client?.Database.DeleteAsync(); } }