Пример #1
0
        public void PExpireAt()
        {
            using (BlendedJSEngine engine = new BlendedJSEngine())
            {
                engine.Jint.SetValue("testRedisUrl", _testRedisUrl);

                var result = engine.ExecuteScript(@"
                    var redis = new RedisClient(this.testRedisUrl);
                    redis.del('mykey');
                    redis.set('mykey', 'Hello');
                    redis.pexpireat('mykey', 1555555555005);
                ");

                System.Console.WriteLine(result.ConsoleTest);
                Assert.AreEqual((double)1, (double)result.Value);
            }

            using (BlendedJSEngine engine = new BlendedJSEngine())
            {
                engine.Jint.SetValue("testRedisUrl", _testRedisUrl);

                var result = engine.ExecuteScript(@"
                    var redis = new RedisClient(this.testRedisUrl);
                    redis.del('mykey');
                    redis.set('mykey', 'Hello');
                    redis.pexpireat('mykey', 1555555555005);
                    redis.ttl('mykey');
                ");

                System.Console.WriteLine(result.ConsoleTest);
                Assert.IsTrue((double)result.Value > 0);
            }
        }
Пример #2
0
        public void HGet()
        {
            using (BlendedJSEngine engine = new BlendedJSEngine())
            {
                engine.Jint.SetValue("testRedisUrl", _testRedisUrl);

                var result = engine.ExecuteScript(@"
                    var redis = new RedisClient(this.testRedisUrl);
                    redis.hset('myhash', 'field1', 'foo');
                    redis.hget('myhash', 'field1');
                ");

                System.Console.WriteLine(result.ConsoleTest);
                Assert.AreEqual("foo", (string)result.Value);
            }

            using (BlendedJSEngine engine = new BlendedJSEngine())
            {
                engine.Jint.SetValue("testRedisUrl", _testRedisUrl);

                var result = engine.ExecuteScript(@"
                    var redis = new RedisClient(this.testRedisUrl);
                    redis.hset('myhash', 'field1', 'foo');
                    redis.hexists('myhash', 'field1');
                    redis.hdel('myhash', 'field1');
                    redis.hget('myhash', 'field1');
                ");

                System.Console.WriteLine(result.ConsoleTest);
                Assert.AreEqual(null, result.Value);
            }
        }
Пример #3
0
        public void Update_Upsert()
        {
            TestData.TestData.Prepare("books", "TestData/books.json");

            BlendedJSEngine mongo = new BlendedJSEngine();

            mongo.Jint.SetValue("mongoConnectionString", TestData.TestData.MongoConnectionString);
            var results = mongo.ExecuteScript(
                @"
                    var db = new MongoClient(this.mongoConnectionString);
                    db.books.update(
                       { item: ""ZZZ135"" },
                       {
                         item: ""ZZZ135"",
                         stock: 5,
                         tags: [""database""]
                        },
                        { upsert: true }
                    )
                ");

            var result = (ReplaceOneResult)results.Value;

            Assert.AreEqual(true, result.acknowledged);
            Assert.AreEqual((Int64)0, result.matchedCount);
            Assert.AreEqual((Int64)0, result.modifiedCount);
            Assert.IsTrue(result.upsertedId is BsonObjectId);
            //{ "acknowledged" : true, "matchedCount" : 1, "modifiedCount" : 1 }
        }
Пример #4
0
        public void Execute_QueryWithNoPrameters()
        {
            using (BlendedJSEngine engine = new BlendedJSEngine())
            {
                var result = engine.ExecuteScript(
                    @"
                    var cassandraClient = new CassandraClient({host:'localhost'});

                    var keyspaceCreated = cassandraClient.execute(""CREATE KEYSPACE IF NOT EXISTS test WITH REPLICATION = { 'class' : 'NetworkTopologyStrategy', 'datacenter1' : 3 };"");
                    console.log(keyspaceCreated);

                    var tableCreated = cassandraClient.execute('CREATE TABLE  IF NOT EXISTS test.employees(id int PRIMARY KEY, name text);');
                    console.log(tableCreated);
                    
                    
                    var rowInserted = cassandraClient.execute(""INSERT INTO test.employees (id, name) VALUES (1, 'daniel');"");
                    console.log(rowInserted);

                    var rows = cassandraClient.execute(""SELECT * FROM test.employees;"");
                    console.log(rows);

                    var tableDroped = cassandraClient.execute('DROP TABLE test.employees;');
                    console.log(tableDroped);

                    rows;
                ");

                System.Console.WriteLine(result.ConsoleTest);
                var items = result.Value as object[];
                Assert.AreEqual(1, items.Length);
                Assert.IsNotNull("daniel", (((IDictionary <string, object>)items[0])["name"]).ToString());
            }
        }
Пример #5
0
        public void Post_Json()
        {
            BlendedJSEngine engine = new BlendedJSEngine();
            var             result = engine.ExecuteScript(
                @"
                    function main()
                    {
                        var httpClient = new HttpClient();
                        var response = httpClient.post({
                            url:'https://jsonplaceholder.typicode.com/posts',
                            headers: {'Content-Type':'application/json'},
                            body: { userId: 1, title: 'bla', body: 'bla bla bla'}
                        });
                        response.bodyJson = JSON.parse(response.body);                        
                        console.log(response);
                        return response;
                    }
                    main();
                ");

            System.Console.WriteLine(result.ConsoleTest);
            HttpResponse response = result.Value as HttpResponse;

            Assert.AreEqual(201, response.statusCode);
            Assert.AreEqual("Created", response.reasonPhrase);
            object created = response.GetProperty("bodyJson");

            Assert.AreEqual((double)101, (double)created.GetProperty("id"));
        }
Пример #6
0
        public void Update_ReplaceDocument()
        {
            TestData.TestData.Prepare("books", "TestData/books.json");

            BlendedJSEngine mongo = new BlendedJSEngine();

            mongo.Jint.SetValue("mongoConnectionString", TestData.TestData.MongoConnectionString);
            var results = mongo.ExecuteScript(
                @"
                    var db = new MongoClient(this.mongoConnectionString);
                    db.books.update(
                       { item: ""XYZ123"" },
                       {
                        item: ""XYZ123"",
                         stock: 10,
                         info: { publisher: ""2255"", pages: 150 },
                         tags: [""baking"", ""cooking""]
                       }
                    )
                ");

            var result = (ReplaceOneResult)results.Value;

            Assert.AreEqual(true, result.acknowledged);
            Assert.AreEqual((Int64)1, result.matchedCount);
            Assert.AreEqual((Int64)1, result.modifiedCount);
            //{ "acknowledged" : true, "matchedCount" : 1, "modifiedCount" : 1 }
        }
Пример #7
0
        public void Query_Postgres_ConnectionProperties()
        {
            using (BlendedJSEngine engine = new BlendedJSEngine())
            {
                var result = engine.ExecuteScript(
                    @"
                    var sqlClient = new  SqlClient({
                        provider:'Postgres',
                        server:'baasu.db.elephantsql.com',
                        database:'lcwvemac',
                        user:'******',
                        password:'******'});
                    try {sqlClient.query('drop table employees');} catch(e){}
                    sqlClient.query('create table employees (ID int, Name varchar(255))');
                    sqlClient.query(""insert INTO  employees (ID,Name) VALUES (1, 'daniel')"");
                    sqlClient.query('select * from employees');
                ");

                result.Logs.ForEach(x => System.Console.WriteLine(x.Arg1));
                Assert.IsNotNull(result);
                Assert.AreEqual(1, ((object[])result.Value).Length);
                Assert.AreEqual(1, ((object[])result.Value)[0].GetProperty("id"));
                Assert.AreEqual("daniel", ((object[])result.Value)[0].GetProperty("name"));
            }
        }
Пример #8
0
        public void Send_Head()
        {
            BlendedJSEngine engine = new BlendedJSEngine();
            var             result = engine.ExecuteScript(
                @"
                    function main()
                    {
                        var httpClient = new HttpClient();
                        var response = httpClient.send({
                            url:'https://jsonplaceholder.typicode.com/posts/1',
                            method:'head'
                        });
                        console.log(response);
                        return response;
                    }
                    main();
                ");

            System.Console.WriteLine(result.ConsoleTest);
            HttpResponse response = result.Value as HttpResponse;

            Assert.AreEqual(200, response.statusCode);
            Assert.AreEqual("OK", response.reasonPhrase);
            Assert.AreEqual("", response.body);
        }
Пример #9
0
        public void Cursor_MariaDb()
        {
            using (BlendedJSEngine engine = new BlendedJSEngine())
            {
                var result = engine.ExecuteScript(
                    @"
                    function main()
                    {
                        var sqlClient = new  SqlClient({connectionUrl:'mariadb://*****:*****@rmspavs8mpub7dkq.chr7pe7iynqr.eu-west-1.rds.amazonaws.com/xy39fg5tb0y2wim0'});
                        try {sqlClient.query('drop table employees');} catch(e){}
                        sqlClient.query('create table employees (ID int, Name varchar(255))');
                        sqlClient.query(""insert INTO  employees (ID,Name) VALUES (1, 'daniel')"");
                        var employees1 = sqlClient.cursor('select * from employees');
                        employees1.close();
                        var employees2 = sqlClient.cursor('select * from employees');
                        var items = [];
                        while(employees2.hasNext())
                        {
                            var item = employees2.next();
                            items.push(item);
                            console.log(item);
                        }
                        return items;
                    }
                    main();
                ");

                result.Logs.ForEach(x => System.Console.WriteLine(x.Arg1));
                Assert.IsNotNull(result);
                Assert.AreEqual(1, ((object[])result.Value).Length);
                Assert.AreEqual(1, ((object[])result.Value)[0].GetProperty("ID"));
                Assert.AreEqual("daniel", ((object[])result.Value)[0].GetProperty("Name"));
            }
        }
Пример #10
0
        public void Query_MariaDb_ConnectionProperties()
        {
            using (BlendedJSEngine engine = new BlendedJSEngine())
            {
                var result = engine.ExecuteScript(
                    @"
                    var sqlClient = new  SqlClient({
                        provider:'MariaDb',
                        server:'rmspavs8mpub7dkq.chr7pe7iynqr.eu-west-1.rds.amazonaws.com',
                        database:'xy39fg5tb0y2wim0',
                        user:'******',
                        password:'******'});
                    try {sqlClient.query('drop table employees');} catch(e){}
                    sqlClient.query('create table employees (ID int, Name varchar(255))');
                    sqlClient.query(""insert INTO  employees (ID,Name) VALUES (1, 'daniel')"");
                    sqlClient.query('select * from employees');
                ");

                result.Logs.ForEach(x => System.Console.WriteLine(x.Arg1));
                Assert.IsNotNull(result);
                Assert.AreEqual(1, ((object[])result.Value).Length);
                Assert.AreEqual(1, ((object[])result.Value)[0].GetProperty("ID"));
                Assert.AreEqual("daniel", ((object[])result.Value)[0].GetProperty("Name"));
            }
        }
Пример #11
0
        public void Query_Odbc_ConnectionProperties()
        {
            using (BlendedJSEngine engine = new BlendedJSEngine())
            {
                var result = engine.ExecuteScript(
                    @"
                    var sqlClient = new  SqlClient({
                        provider:'Odbc',
                        server:'eu-cdbr-west-02.cleardb.net',
                        database:'heroku_dc6ceea567ee53d',
                        driver:'{MySQL ODBC 5.1 Driver}',
                        user:'******',
                        password:'******'});
                    try {sqlClient.query('drop table employees');} catch(e){}
                    sqlClient.query('create table employees (ID int, Name varchar(255))');
                    sqlClient.query(""insert INTO  employees (ID,Name) VALUES (1, 'daniel')"");
                    sqlClient.query('select * from employees');
                ");

                result.Logs.ForEach(x => System.Console.WriteLine(x.Arg1));
                Assert.IsNotNull(result);
                Assert.AreEqual(1, ((object[])result.Value).Length);
                Assert.AreEqual(1, ((object[])result.Value)[0].GetProperty("ID"));
                Assert.AreEqual("daniel", ((object[])result.Value)[0].GetProperty("Name"));
            }
        }
Пример #12
0
        public void Cursor_Run2()
        {
            using (BlendedJSEngine engine = new BlendedJSEngine())
            {
                var result = engine.ExecuteScript(
                    @"
                    function main()
                    {
                        var sqlClient = new  SqlClient({provider:'Sqlite',connectionString:'Data Source = chinook.db;'});
                        var employees = sqlClient.cursor('select * from employees');
                        var albums = sqlClient.cursor('select * from albums');
                        var items = [];
                        while(albums.hasNext())
                        {
                            var item = albums.next();
                            items.push(item);
                            console.log(item);
                        }
                        while(employees.hasNext())
                        {
                            var item = employees.next();
                            items.push(item);
                            console.log(item);
                        }
                        return items;
                    }
                    main();
                ");
                Assert.IsNotNull(result);
                System.Console.WriteLine(result.ConsoleTest);

                Assert.IsTrue(((object[])result.Value).Length > 20);
            }
        }
Пример #13
0
        public void Cursor_WhileLoop()
        {
            using (BlendedJSEngine engine = new BlendedJSEngine())
            {
                var result = engine.ExecuteScript(
                    @"
                    function main()
                    {
                        var sqlClient = new  SqlClient({provider:'Sqlite',connectionString:'Data Source = chinook.db;'});
                        var cursor = sqlClient.cursor('select * from employees');
                        var items = [];
                        while(cursor.hasNext())
                        {
                            var item = cursor.next();
                            items.push(item);
                            console.log(item);
                        }
                        return items;
                    }
                    main();
                ");
                Assert.IsNotNull(result);
                System.Console.WriteLine(result.ConsoleTest);

                Assert.AreEqual(8, ((object[])result.Value).Length);
                IDictionary <string, object> firstRecord = ((object[])result.Value)[0] as IDictionary <string, object>;
                Assert.AreEqual((Int64)1, firstRecord["EmployeeId"]);
            }
        }
Пример #14
0
        public void Find_Projection_Exclude_idField()
        {
            TestData.TestData.Prepare("bios", "TestData/bios.json");

            BlendedJSEngine mongo = new BlendedJSEngine();

            mongo.Jint.SetValue("mongoConnectionString", TestData.TestData.MongoConnectionString);
            var results = mongo.ExecuteScript(
                @"
                    var db = new MongoClient(this.mongoConnectionString);
                    db.bios.find(
                       { },
                       { name: 1, contribs: 1, _id: 0 }
                    )
                ");

            var items = ((IEnumerable <object>)results.Value).ToList();

            Assert.AreEqual(10, items.Count);
            foreach (var item in items)
            {
                Assert.IsNotNull(item.GetProperty("name"));
                Assert.IsNotNull(item.GetProperty("contribs"));
            }
        }
Пример #15
0
        public void FindOne_WithQuerySpecificatione()
        {
            TestData.TestData.Prepare("bios", "TestData/bios.json");

            BlendedJSEngine mongo = new BlendedJSEngine();

            mongo.Jint.SetValue("mongoConnectionString", TestData.TestData.MongoConnectionString);
            var results = mongo.ExecuteScript(
                @"
                    var db = new MongoClient(this.mongoConnectionString);
                    db.bios.findOne(
                       {
                         $or: [
                                { 'name.first' : {'$regex': 'Gr'}},
                                { birth: { $lt: new Date('1940-01-01') } }
                              ]
                       }
                    );
                ");

            System.Console.Write(results.ConsoleTest);
            var firstDocument = (BsonDocument)results.Value;

            Assert.IsNotNull(firstDocument);
            Assert.IsTrue(firstDocument.ToString().StartsWith("{ \"_id\" : 3,"));
        }
Пример #16
0
        public void Delete_Json()
        {
            BlendedJSEngine engine = new BlendedJSEngine();
            var             result = engine.ExecuteScript(
                @"
                    function main()
                    {
                        var httpClient = new HttpClient();
                        var response = httpClient.delete({
                            url:'https://jsonplaceholder.typicode.com/posts/1'
                        });
                        response.bodyJson = JSON.parse(response.body);                        
                        console.log(response);
                        return response;
                    }
                    main();
                ");

            System.Console.WriteLine(result.ConsoleTest);
            HttpResponse response = result.Value as HttpResponse;

            Assert.AreEqual(200, response.statusCode);
            Assert.AreEqual("OK", response.reasonPhrase);
            Assert.AreEqual("{}", response.body);
            object deleted = response.GetProperty("bodyJson");

            Assert.IsNotNull(deleted);
        }
Пример #17
0
        public void Update_SpecificFields()
        {
            TestData.TestData.Prepare("books", "TestData/books.json");

            BlendedJSEngine mongo = new BlendedJSEngine();

            mongo.Jint.SetValue("mongoConnectionString", TestData.TestData.MongoConnectionString);
            var results = mongo.ExecuteScript(
                @"
                    var db = new MongoClient(this.mongoConnectionString);
                    db.books.update(
                       { _id: 1 },
                       {
                         $inc: { stock: 5 },
                         $set: {
                           item: ""ABC123"",
                           ""info.publisher"": ""2222"",
                           tags: [""software""],
                           ""ratings.1"": { by: ""xyz"", rating: 3 }
                            }
                        }
                    )
                ");

            var result = (UpdateResult)results.Value;

            Assert.AreEqual(true, result.acknowledged);
            Assert.AreEqual((Int64)1, result.matchedCount);
            Assert.AreEqual((Int64)1, result.modifiedCount);
            //{ "acknowledged" : true, "matchedCount" : 1, "modifiedCount" : 1 }
        }
Пример #18
0
        public void Get_Json()
        {
            BlendedJSEngine engine = new BlendedJSEngine();
            var             result = engine.ExecuteScript(
                @"
                    function main()
                    {
                        var httpClient = new HttpClient();
                        var response = httpClient.get({
                            url:'https://jsonplaceholder.typicode.com/posts',
                            headers: {'Content-Type':'application/json'}
                        });
                        response.bodyJson = JSON.parse(response.body);                        
                        console.log(response);
                        return response;
                    }
                    main();
                ");

            System.Console.WriteLine(result.ConsoleTest);
            HttpResponse response = result.Value as HttpResponse;

            Assert.AreEqual(200, response.statusCode);
            Assert.AreEqual("OK", response.reasonPhrase);
            object[] posts = response.GetProperty("bodyJson") as object[];
            Assert.AreEqual((double)1, posts[0].GetProperty("userId"));
        }
Пример #19
0
        public void Aggregate_SpecifyInitialBatchSize()
        {
            TestData.TestData.Prepare("orders", "TestData/orders.json");

            BlendedJSEngine mongo = new BlendedJSEngine();

            mongo.Jint.SetValue("mongoConnectionString", TestData.TestData.MongoConnectionString);
            var results = mongo.ExecuteScript(
                @"
                    var db = new MongoClient(this.mongoConnectionString);
                    db.orders.aggregate(
                        [
                        { $match: { status: ""A"" } },
                        { $group: { _id: ""$cust_id"", total: { $sum: ""$amount"" } } },
                        { $sort: { total: -1 } },
                        { $limit: 2 }
                        ],
                        {
                            cursor: { batchSize: 0 }
                        }
                   )");
            var items = ((IEnumerable <object>)results.Value).ToList();

            Assert.AreEqual(2, items.Count);
        }
Пример #20
0
        public void rpushx()
        {
            using (BlendedJSEngine engine = new BlendedJSEngine())
            {
                engine.Jint.SetValue("testRedisUrl", _testRedisUrl);

                var result = engine.ExecuteScript(@"
                    var redis = new RedisClient(this.testRedisUrl);
                    redis.del('mylist');
                    redis.rpush('mylist', 'one');
                    redis.rpushx('mylist', 'two');
                ");

                System.Console.WriteLine(result.ConsoleTest);
                Assert.AreEqual((double)2, (double)result.Value);
            }

            using (BlendedJSEngine engine = new BlendedJSEngine())
            {
                engine.Jint.SetValue("testRedisUrl", _testRedisUrl);

                var result = engine.ExecuteScript(@"
                    var redis = new RedisClient(this.testRedisUrl);
                    redis.del('mylist');
                    redis.rpushx('mylist', 'two');
                ");

                System.Console.WriteLine(result.ConsoleTest);
                Assert.AreEqual((double)0, (double)result.Value);
            }
        }
Пример #21
0
        public void Find_ArrayOfDocuments()
        {
            TestData.TestData.Prepare("bios", "TestData/bios.json");

            BlendedJSEngine mongo = new BlendedJSEngine();

            mongo.Jint.SetValue("mongoConnectionString", TestData.TestData.MongoConnectionString);
            var results = mongo.ExecuteScript(
                @"
                    var db = new MongoClient(this.mongoConnectionString);
                    db.bios.find(
                       {
                          awards: {
                                    $elemMatch: {
                                         award: ""Turing Award"",
                                         year: { $gt: 1980 }
                            }
                        }
                    }
                    )
                ");

            var items = ((IEnumerable <object>)results.Value).ToList();

            Assert.AreEqual(3, items.Count);
        }
Пример #22
0
        public void Next_OverTwoItems()
        {
            using (BlendedJSEngine engine = new BlendedJSEngine())
            {
                engine.Jint.SetValue("cursor", new Cursor(new List <object> {
                    1, 2
                }));
                var results = engine.ExecuteScript(
                    @"
                    function main()
                    {
                        var items = [];
                        items.push(cursor.next());
                        items.push(cursor.next());
                        return items;
                    }
                    main();
                ");

                System.Console.WriteLine(results.ConsoleTest);
                Assert.AreEqual(2, ((object[])results.Value).Length);
                Assert.AreEqual(1.0, ((object[])results.Value)[0]);
                Assert.AreEqual(2.0, ((object[])results.Value)[1]);
            }
        }
Пример #23
0
        public void SetEx()
        {
            using (BlendedJSEngine engine = new BlendedJSEngine())
            {
                engine.Jint.SetValue("testRedisUrl", _testRedisUrl);

                var result = engine.ExecuteScript(@"
                    var redis = new RedisClient(this.testRedisUrl);
                    redis.del('mykey');
                    redis.setex('mykey', 11, 'Hello');
                    redis.ttl('mykey');
                ");

                System.Console.WriteLine(result.ConsoleTest);
                Assert.AreEqual(10, (double)result.Value);
            }

            using (BlendedJSEngine engine = new BlendedJSEngine())
            {
                engine.Jint.SetValue("testRedisUrl", _testRedisUrl);

                var result = engine.ExecuteScript(@"
                    var redis = new RedisClient(this.testRedisUrl);
                    redis.del('mykey');
                    redis.setex('mykey', 11, 'Hello');
                    redis.ttl('mykey');
                    redis.get('mykey');
                ");

                System.Console.WriteLine(result.ConsoleTest);
                Assert.AreEqual("Hello", (string)result.Value);
            }
        }
Пример #24
0
        public void StrLen()
        {
            using (BlendedJSEngine engine = new BlendedJSEngine())
            {
                engine.Jint.SetValue("testRedisUrl", _testRedisUrl);

                var result = engine.ExecuteScript(@"
                    var redis = new RedisClient(this.testRedisUrl);
                    redis.del('mykey');
                    redis.set('mykey', 'Hello World')
                    redis.strlen('mykey');
                ");

                System.Console.WriteLine(result.ConsoleTest);
                Assert.AreEqual(11, (double)result.Value);
            }

            using (BlendedJSEngine engine = new BlendedJSEngine())
            {
                engine.Jint.SetValue("testRedisUrl", _testRedisUrl);

                var result = engine.ExecuteScript(@"
                    var redis = new RedisClient(this.testRedisUrl);
                    redis.del('mykey');
                    redis.strlen('mykey');
                ");

                System.Console.WriteLine(result.ConsoleTest);
                Assert.AreEqual(0, (double)result.Value);
            }
        }
Пример #25
0
        public void MSetNX()
        {
            using (BlendedJSEngine engine = new BlendedJSEngine())
            {
                engine.Jint.SetValue("testRedisUrl", _testRedisUrl);

                var result = engine.ExecuteScript(@"
                    var redis = new RedisClient(this.testRedisUrl);
                    redis.del('key1');
                    redis.del('key2');
                    redis.msetnx(['key1', 'Hello', 'key2', 'World']);
                ");

                System.Console.WriteLine(result.ConsoleTest);
                Assert.AreEqual((double)1, (double)result.Value);
            }

            using (BlendedJSEngine engine = new BlendedJSEngine())
            {
                engine.Jint.SetValue("testRedisUrl", _testRedisUrl);

                var result = engine.ExecuteScript(@"
                    var redis = new RedisClient(this.testRedisUrl);
                    redis.del('key1');
                    redis.del('key2');
                    redis.del('key3');
                    redis.msetnx(['key1', 'Hello', 'key2', 'World']);
                    redis.msetnx(['key2', 'Hello', 'key3', 'World']);
                ");

                System.Console.WriteLine(result.ConsoleTest);
                Assert.AreEqual((double)0, (double)result.Value);
            }
        }
Пример #26
0
        public void Decr()
        {
            using (BlendedJSEngine engine = new BlendedJSEngine())
            {
                engine.Jint.SetValue("testRedisUrl", _testRedisUrl);

                var result = engine.ExecuteScript(@"
                    var redis = new RedisClient(this.testRedisUrl);
                    redis.del('mykey');
                    redis.set('mykey','10');
                    redis.decr('mykey');
                ");

                System.Console.WriteLine(result.ConsoleTest);
                var value = result.Value as string;
                Assert.AreEqual(9, (double)result.Value);
            }

            using (BlendedJSEngine engine = new BlendedJSEngine())
            {
                engine.Jint.SetValue("testRedisUrl", _testRedisUrl);

                var result = engine.ExecuteScript(@"
                    var redis = new RedisClient(this.testRedisUrl);
                    redis.del('mykey');
                    redis.set('mykey','234293482390480948029348230948');
                    redis.decr('mykey');
                ");

                System.Console.WriteLine(result.ConsoleTest);
                Assert.IsTrue(result.ConsoleTest.Contains("ERR value is not an integer or out of range"));
            }
        }
Пример #27
0
        public void lrange()
        {
            using (BlendedJSEngine engine = new BlendedJSEngine())
            {
                engine.Jint.SetValue("testRedisUrl", _testRedisUrl);

                var result = engine.ExecuteScript(@"
                    var redis = new RedisClient(this.testRedisUrl);
                    redis.del('mylist');
                    redis.rpush('mylist', 'one');
                    redis.rpush('mylist', 'two');
                    redis.rpush('mylist', 'three');
                    redis.lrange('mylist', 0, 0);
                ");

                System.Console.WriteLine(result.ConsoleTest);
                Assert.AreEqual("one", ((object[])result.Value)[0]);
            }

            using (BlendedJSEngine engine = new BlendedJSEngine())
            {
                engine.Jint.SetValue("testRedisUrl", _testRedisUrl);

                var result = engine.ExecuteScript(@"
                    var redis = new RedisClient(this.testRedisUrl);
                    redis.del('mylist');
                    redis.rpush('mylist', 'one');
                    redis.rpush('mylist', 'two');
                    redis.rpush('mylist', 'three');
                    redis.lrange('mylist', 0, 0);
                    redis.lrange('mylist', -3, 2);
                ");

                System.Console.WriteLine(result.ConsoleTest);
                Assert.AreEqual("one", ((object[])result.Value)[0]);
                Assert.AreEqual("two", ((object[])result.Value)[1]);
                Assert.AreEqual("three", ((object[])result.Value)[2]);
            }

            using (BlendedJSEngine engine = new BlendedJSEngine())
            {
                engine.Jint.SetValue("testRedisUrl", _testRedisUrl);

                var result = engine.ExecuteScript(@"
                    var redis = new RedisClient(this.testRedisUrl);
                    redis.del('mylist');
                    redis.rpush('mylist', 'one');
                    redis.rpush('mylist', 'two');
                    redis.rpush('mylist', 'three');
                    redis.lrange('mylist', 0, 0);
                    redis.lrange('mylist', -3, 2);
                    redis.lrange('mylist', 5, 10);
                ");

                System.Console.WriteLine(result.ConsoleTest);
                Assert.AreEqual(0, ((object[])result.Value).Length);
            }
        }
Пример #28
0
        public void ConsoleLog_SumOfNumber()
        {
            BlendedJSEngine engine = new BlendedJSEngine();
            var             result = engine.ExecuteScript(
                @"
                    console.log(2 + 2);
                ");

            Assert.AreEqual("Line 2: 4", result.ConsoleTest);
        }
Пример #29
0
        public void ConsoleLog_GraveAccent()
        {
            BlendedJSEngine engine = new BlendedJSEngine();
            var             result = engine.ExecuteScript(
                @"
                    console.log(`bla bla bla`);
                ");

            Assert.AreEqual("Line 2: bla bla bla", result.ConsoleTest);
        }
Пример #30
0
        public void Log_String()
        {
            BlendedJSEngine engine = new BlendedJSEngine();
            var             result = engine.ExecuteScript(
                @"
                    log('bla bla bla');
                ");

            Assert.AreEqual("Line 2: bla bla bla", result.ConsoleTest);
        }