Пример #1
0
        async Task SetUpAsync()
        {
            Func <string, string, string> Env = (name, @default) =>
                                                Environment.GetEnvironmentVariable(name) ?? @default;

            var domain   = Env("FAUNA_DOMAIN", "localhost");
            var scheme   = Env("FAUNA_SCHEME", "http");
            var port     = Env("FAUNA_PORT", "8443");
            var secret   = Env("FAUNA_ROOT_KEY", "secret");
            var endpoint = $"{scheme}://{domain}:{port}";

            rootClient = new FaunaClient(secret: secret, endpoint: endpoint);

            const string dbName = "faunadb-csharp-test";

            DbRef = Database(dbName);

            try {
                await rootClient.Query(Delete(DbRef));
            } catch (BadRequest) {}

            await rootClient.Query(CreateDatabase(Obj("name", dbName)));

            clientKey = await rootClient.Query(CreateKey(Obj("database", DbRef, "role", "server")));

            adminKey = await rootClient.Query(CreateKey(Obj("database", DbRef, "role", "admin")));

            client      = rootClient.NewSessionClient(clientKey.Get(SECRET_FIELD));
            adminClient = rootClient.NewSessionClient(adminKey.Get(SECRET_FIELD));
        }
Пример #2
0
        static async Task <FaunaClient> CreateNewDatabase(FaunaClient client, string name)
        {
            await client.Query(CreateDatabase(Obj("name", name)));

            var key = await client.Query(CreateKey(Obj("database", Database(name), "role", "admin")));

            return(client.NewSessionClient(secret: key.Get(SECRET_FIELD)));
        }
Пример #3
0
        [Test] public async Task TestCreateKey()
        {
            await adminClient.Query(CreateDatabase(Obj("name", "database_for_key_test")));

            var key = await adminClient.Query(CreateKey(Obj("database", Database("database_for_key_test"), "role", "server")));

            var newClient = adminClient.NewSessionClient(secret: key.Get(SECRET_FIELD));

            await newClient.Query(CreateClass(Obj("name", "class_for_key_test")));

            Assert.AreEqual(BooleanV.True, await newClient.Query(Exists(Class("class_for_key_test"))));
        }
Пример #4
0
 protected FaunaClient GetClient(string secret) =>
 rootClient.NewSessionClient(secret);