public void ConsoleLog_StringPlusJsArrayOfObjects() { BlendedJSEngine engine = new BlendedJSEngine(); var result = engine.ExecuteScript( @" var array = [{a:1},{a:2},{a:3}]; console.log('text ' + array); "); Assert.AreEqual("Line 3: text [object Object],[object Object],[object Object]", result.ConsoleTest); }
public void ConsoleLog_StringPlusCsHttpClient() { BlendedJSEngine engine = new BlendedJSEngine(); var result = engine.ExecuteScript( @" var obj = HttpClient(); console.log('text ' + obj); "); Assert.AreEqual("Line 3: text [object HttpClient]", result.ConsoleTest); }
public void ConsoleLog_StringPlusJsArray() { BlendedJSEngine engine = new BlendedJSEngine(); var result = engine.ExecuteScript( @" var array = [1,2,3]; console.log('text ' + array); "); Assert.AreEqual("Line 3: text 1,2,3", result.ConsoleTest); }
public void lindex() { using (BlendedJSEngine engine = new BlendedJSEngine()) { engine.Jint.SetValue("testRedisUrl", _testRedisUrl); var result = engine.ExecuteScript(@" var redis = new RedisClient(this.testRedisUrl); redis.del('mylist'); redis.lpush('mylist', 'World'); redis.lpush('mylist', 'Hello'); redis.lindex('mylist', '0'); "); System.Console.WriteLine(result.ConsoleTest); Assert.AreEqual("Hello", (string)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.lpush('mylist', 'World'); redis.lpush('mylist', 'Hello'); redis.lindex('mylist', 0); redis.lindex('mylist', -1); "); System.Console.WriteLine(result.ConsoleTest); Assert.AreEqual("World", (string)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.lpush('mylist', 'World'); redis.lpush('mylist', 'Hello'); redis.lindex('mylist', 0); redis.lindex('mylist', -1); redis.lindex('mylist', 3); "); System.Console.WriteLine(result.ConsoleTest); Assert.AreEqual(null, result.Value); } }
public void Drop() { 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.drop(); "); }
public void ConsoleLog_NotCatchedNetError() { BlendedJSEngine engine = new BlendedJSEngine(); engine.Jint.SetValue("doSomeJob", new Action <object>(x => throw new Exception("bla bla bla"))); var result = engine.ExecuteScript( @" doSomeJob(); "); Assert.AreEqual("Line 2: ERROR, Line 2 :bla bla bla", result.ConsoleTest); }
public void ConsoleLog_GraveAccentMultiLine() { BlendedJSEngine engine = new BlendedJSEngine(); var result = engine.ExecuteScript( @" console.log(`bla bla bla`); "); Assert.AreEqual("Line 2: bla \r\nbla \r\nbla", result.ConsoleTest); }
public void Exists() { 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.set('key1', 'Hello'); redis.exists('key1'); "); 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.set('key1', 'Hello'); redis.exists('nosuchkey'); "); System.Console.WriteLine(result.ConsoleTest); Assert.AreEqual((double)0, (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.set('key1', 'Hello'); redis.exists('nosuchkey'); redis.set('key2', 'Worlds'); redis.exists('key1' ,'key2', 'nosuchkey'); "); System.Console.WriteLine(result.ConsoleTest); Assert.AreEqual((double)0, (double)result.Value); } }
public void Connect_NotExistingKeySpace() { using (BlendedJSEngine engine = new BlendedJSEngine()) { var result = engine.ExecuteScript( @" var cassandraClient = new CassandraClient({host:'localhost'}); cassandraClient.connect('NotExists'); "); System.Console.WriteLine(result.ConsoleTest); Assert.IsTrue(result.ConsoleTest.Contains("Keyspace 'NotExists' does not exist")); } }
public void List_ReturnsFiles() { using (BlendedJSEngine engine = new BlendedJSEngine()) { var result = engine.ExecuteScript( @" var sftpClient = new SftpClient({host:'test.rebex.net', user:'******', password:'******'}); sftpClient.list('/'); "); Assert.IsNotNull(result.Value); } }
public void Connect_NoError() { using (BlendedJSEngine engine = new BlendedJSEngine()) { var result = engine.ExecuteScript( @" var cassandraClient = new CassandraClient({host:'localhost'}); cassandraClient.connect(); "); System.Console.WriteLine(result.ConsoleTest); Assert.IsTrue(string.IsNullOrEmpty(result.ConsoleTest)); } }
public void Query_SelectRows() { using (BlendedJSEngine engine = new BlendedJSEngine()) { var result = engine.ExecuteScript( @" var sqlClient = new SqlClient({provider:'Sqlite',connectionString:'Data Source = chinook.db;'}); sqlClient.query('select * from employees'); "); Assert.IsNotNull(result); Assert.AreEqual(8, ((object[])result.Value).Length); } }
public void Query_UpdateZeroItems() { using (BlendedJSEngine engine = new BlendedJSEngine()) { var result = engine.ExecuteScript( @" var sqlClient = new SqlClient({provider:'Sqlite',connectionString:'Data Source = chinook.db;'}); sqlClient.query('update employees set FirstName = ""Kowalski"" where EmployeeId=123123'); "); Assert.IsNotNull(result); Assert.AreEqual((double)0, result.Value); } }
public void IncrByFloat() { 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.50); redis.incrbyfloat('mykey', 0.1); "); System.Console.WriteLine(result.ConsoleTest); Assert.AreEqual(10.6, (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', 10.50); redis.incrbyfloat('mykey', 0.1); redis.incrbyfloat('mykey', -5); "); System.Console.WriteLine(result.ConsoleTest); Assert.AreEqual(5.6, (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', 5.0e3); redis.incrbyfloat('mykey', 2.0e2); "); System.Console.WriteLine(result.ConsoleTest); Assert.AreEqual(5200, (double)result.Value); } }
public void RandomKey() { using (BlendedJSEngine engine = new BlendedJSEngine()) { engine.Jint.SetValue("testRedisUrl", _testRedisUrl); var result = engine.ExecuteScript(@" var redis = new RedisClient(this.testRedisUrl); redis.randomkey(); "); System.Console.WriteLine(result.ConsoleTest); Assert.IsNotNull((string)result.Value); } }
public void Get_UrlIsInvalid_ThrowError() { BlendedJSEngine engine = new BlendedJSEngine(); var result = engine.ExecuteScript( @" try { var httpClient = new HttpClient(); httpClient.get('asdf://asdf'); }catch(err) { console.log(err); } "); Assert.IsTrue(result.ConsoleTest.Contains("Only 'http' and 'https' schemes are allowed")); }
public void ConsoleLog_CatchedJsError() { BlendedJSEngine engine = new BlendedJSEngine(); var result = engine.ExecuteScript( @" try { doSomeJob(); } catch(err) { console.log('catch ' + err); } "); Assert.AreEqual("Line 6: catch ReferenceError: doSomeJob is not defined", result.ConsoleTest); }
public void ConsoleLog_StringPlusCsArrayOfObjects() { BlendedJSEngine engine = new BlendedJSEngine(); Dictionary <string, object> obj = new Dictionary <string, object>(); engine.Jint.SetValue("TestClass", new Func <object>(() => new object[] { new JsObject(), new JsObject(), new JsObject() })); var result = engine.ExecuteScript( @" var obj = TestClass(); console.log('text ' + obj); "); Assert.AreEqual("Line 3: text [object Object],[object Object],[object Object]", result.ConsoleTest); }
public void CreateIndex_CreateItem_ReturnAllItems() { using (BlendedJSEngine engine = new BlendedJSEngine()) { var result = engine.ExecuteScript( @" var httpClient = new HttpClient(); var indexExists = httpClient.head('http://*****:*****@gloin-eu-west-1.searchly.com/twitter'); console.log('Index exists:'); console.log(indexExists); if (indexExists.statusCode != 200) { var indexCreated = httpClient.put({ url:'http://*****:*****@gloin-eu-west-1.searchly.com/twitter', body: {'settings' : {'index' : { 'number_of_shards' : 3, 'number_of_replicas' : 2 }}} }); console.log('Index created:'); console.log(indexCreated); } var itemCreated = httpClient.post({ url:'http://*****:*****@gloin-eu-west-1.searchly.com/twitter/_doc/1', headers: {'Content-Type':'application/json'}, body: {'user':'******', 'post_date':'2009-11-15T14:12:12', 'message':'trying out Elasticsearch'} }); console.log('item created'); console.log(itemCreated); var matchAllItems = httpClient.post({ url:'http://*****:*****@gloin-eu-west-1.searchly.com/twitter/_search', headers: {'Content-Type':'application/json'}, body: {'query': {'match_all': { }}} }); console.log(matchAllItems); var matchAllItemsBody = JSON.parse(matchAllItems.body); var matchAllItemsHits = matchAllItemsBody.hits.hits.map(function(a) {return a['_source'];});; console.log(matchAllItemsHits); matchAllItemsHits; "); System.Console.WriteLine(result.ConsoleTest); var items = result.Value as object[]; Assert.AreEqual(1, items.Length); Assert.IsNotNull("kimchy", (((IDictionary <string, object>)items[0])["user"]).ToString()); } }
public void HStrLen() { using (BlendedJSEngine engine = new BlendedJSEngine()) { engine.Jint.SetValue("testRedisUrl", _testRedisUrl); var result = engine.ExecuteScript(@" var redis = new RedisClient(this.testRedisUrl); redis.hmset('myhash', 'f1', 'HelloWorld', 'f2', 99, 'f3', -256); redis.hstrlen('myhash', 'f1'); "); System.Console.WriteLine(result.ConsoleTest); Assert.AreEqual(10, (double)result.Value); } }
public void Type() { using (BlendedJSEngine engine = new BlendedJSEngine()) { engine.Jint.SetValue("testRedisUrl", _testRedisUrl); var result = engine.ExecuteScript(@" var redis = new RedisClient(this.testRedisUrl); redis.set('key1', 'Hello'); redis.type('key1'); "); System.Console.WriteLine(result.ConsoleTest); Assert.AreEqual("String", (string)result.Value); } }
public void HSet() { using (BlendedJSEngine engine = new BlendedJSEngine()) { engine.Jint.SetValue("testRedisUrl", _testRedisUrl); var result = engine.ExecuteScript(@" var redis = new RedisClient(this.testRedisUrl); redis.hdel('myhash', 'field1'); redis.hset('myhash', 'field1', 'Hello'); "); System.Console.WriteLine(result.ConsoleTest); Assert.AreEqual(1, (double)result.Value); } }
public void Find_ByObjectId_ReturnsOneDocument() { 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( { _id: ObjectId(""51e062189c6ae665454e301d"") } ); "); var items = ((IEnumerable <object>)results.Value).ToList(); Assert.AreEqual(1, items.Count); }
public void Query_SelectWithParameters() { using (BlendedJSEngine engine = new BlendedJSEngine()) { var result = engine.ExecuteScript( @" var sqlClient = new SqlClient({provider:'Sqlite',connectionString:'Data Source = chinook.db;'}); sqlClient.query({ sql:'select * from employees where EmployeeId=@EmployeeId', parameters:{EmployeeId:1} }); "); Assert.IsNotNull(result); Assert.AreEqual(1, ((object[])result.Value).Length); } }
public void Find_LimiAndSort() { 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().sort( { name: 1 } ).limit( 5 ) ").Value as IEnumerable <object>; Assert.AreEqual(5, results.ToList().Count); }
public void lpush() { using (BlendedJSEngine engine = new BlendedJSEngine()) { engine.Jint.SetValue("testRedisUrl", _testRedisUrl); var result = engine.ExecuteScript(@" var redis = new RedisClient(this.testRedisUrl); redis.del('mylist'); redis.lpush('mylist', 'one'); "); 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('mylist'); redis.lpush('mylist', 'one'); redis.lpush('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.lpush('mylist', 'one'); redis.lpush('mylist', 'two'); redis.lrange('mylist', 0, -1); "); Assert.AreEqual("two", ((object[])result.Value)[0]); Assert.AreEqual("one", ((object[])result.Value)[1]); } }
public void SetNx() { using (BlendedJSEngine engine = new BlendedJSEngine()) { engine.Jint.SetValue("testRedisUrl", _testRedisUrl); var result = engine.ExecuteScript(@" var redis = new RedisClient(this.testRedisUrl); redis.del('mykey'); redis.setnx('mykey', 'Hello'); "); System.Console.WriteLine(result.ConsoleTest); Assert.AreEqual(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.setnx('mykey', 'Hello'); redis.setnx('mykey', 'World'); "); System.Console.WriteLine(result.ConsoleTest); Assert.AreEqual(0, (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.setnx('mykey', 'Hello'); redis.setnx('mykey', 'World'); redis.get('mykey'); "); System.Console.WriteLine(result.ConsoleTest); Assert.AreEqual("Hello", (string)result.Value); } }
public void IncrBy() { 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.incrby('mykey', 5); "); System.Console.WriteLine(result.ConsoleTest); Assert.AreEqual(15, (double)result.Value); } }
public void Find_ToArray() { 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); var items = db.bios.find().toArray(); console.log(items); "); Assert.AreEqual(1, results.Logs.Count); }
public void PSetEx() { using (BlendedJSEngine engine = new BlendedJSEngine()) { engine.Jint.SetValue("testRedisUrl", _testRedisUrl); var result = engine.ExecuteScript(@" var redis = new RedisClient(this.testRedisUrl); redis.del('mykey'); redis.psetex('mykey', 1000, 'Hello'); redis.pttl('mykey'); "); System.Console.WriteLine(result.ConsoleTest); Assert.IsTrue((double)result.Value > (double)900); } }