(venv) eunices-mbp:mobile-testkit eunicehuang$ pytest -s -rsx --timeout=1800 --liteserv-version=2.6.0-154 --liteserv-host=192.168.33.126 --liteserv-port=8080 --xattrs --sync-gateway-version=2.6.0-127 --mode=cc --server-version=6.0.1-2037 --liteserv-platform=android --create-db-per-suite=cbl-test --enable-sample-bucket=travel-sample /Users/eunicehuang/dev/mobile-testkit/testsuites/CBLTester/CBL_Functional_tests/SuiteSetup_FunctionalTests/ --skip-provisioning -k test_query_substring ==================================================== test session starts ==================================================== platform darwin -- Python 2.7.10, pytest-3.0.2, py-1.4.31, pluggy-0.3.1 -- /Users/eunicehuang/dev/mobile-testkit/venv/bin/python cachedir: .cache rootdir: /Users/eunicehuang/dev/mobile-testkit, inifile: pytest.ini plugins: timeout-1.0.0, html-1.10.0 collected 73 items testsuites/CBLTester/CBL_Functional_tests/SuiteSetup_FunctionalTests/test_query.py::test_query_substring[email-name-maisondeverlaine@gmail.com] Downloading TestServer ... Package is already downloaded. Skipping. Installing: deps/binaries/CBLTestServer-Android-2.6.0-154-enterprise-release.apk LiteServ installed to 192.168.33.126 {u'load_generators': [], u'couchbase_servers': [{u'ip': u'192.168.33.10', u'name': u'cb1'}], u'sync_gateways': [{u'ip': u'192.168.33.11', u'name': u'sg1'}], u'environment': {u'delta_sync_enabled': False, u'x509_certs': False, u'sg_use_views': False, u'no_conflicts_enabled': False, u'sg_lb_enabled': False, u'sync_gateway_ssl': False, u'cbl_log_decoder_platform': None, u'xattrs_enabled': True, u'number_replicas': 0, u'sync_gateway_version': u'2.6.0-127', u'ipv6_enabled': False, u'cbs_ssl_enabled': False, u'server_version': u'6.0.1-2037'}, u'hosts': [{u'ip': u'192.168.33.10', u'name': u'host1'}, {u'ip': u'192.168.33.11', u'name': u'host2'}], u'load_balancers': [], u'sg_accels': []} Extracted host (192.168.33.11) from url (http://192.168.33.11:4984) Running tests with load balancer disabled Running test with server version 6.0.1-2037 Running test with sync_gateway version 2.6.0-127 Running test with cbl_log_decoder_platform None Running test with cbl_log_decoder_platform None Running test with xattrs for sync meta storage Running with allow conflicts Running tests with cbs <-> sg ssl disabled Running without delta sync {u'load_generators': [], u'couchbase_servers': [{u'ip': u'192.168.33.10', u'name': u'cb1'}], u'sync_gateways': [{u'ip': u'192.168.33.11', u'name': u'sg1'}], u'environment': {u'delta_sync_enabled': False, u'x509_certs': False, u'sync_gateway_ssl': False, u'sg_lb_enabled': False, u'sg_use_views': False, u'cbl_log_decoder_platform': None, u'no_conflicts_enabled': False, u'xattrs_enabled': True, u'number_replicas': 0, u'sync_gateway_version': u'2.6.0-127', u'ipv6_enabled': False, u'cbs_ssl_enabled': False, u'server_version': u'6.0.1-2037'}, u'hosts': [{u'ip': u'192.168.33.10', u'name': u'host1'}, {u'ip': u'192.168.33.11', u'name': u'host2'}], u'load_balancers': [], u'sg_accels': []} Extracted host (192.168.33.10) from url (http://192.168.33.10:8091) Verfying versions for cluster: resources/cluster_configs/base_cc GET http://Administrator:password@192.168.33.10:8091/pools 200 Expected Server Version: 6.0.1-2037 Running Server Version: 6.0.1-2037 GET http://192.168.33.11:4984/ 200 'server' header: Couchbase Sync Gateway/2.6.0 EE vendor name: Couchbase Sync Gateway GET http://192.168.33.11:4984/ 200 Expected sync_gateway Version: 2.6.0-127 Running sync_gateway Version: 2.6.0-127 Running sync_gateway Vendor Version: 2.6 Starting TestServer... Starting: Intent { cmp=com.couchbase.TestServerApp/com.couchbase.CouchbaseLiteServ.MainActivity (has extras) } output for running activity 1 Creating a Database cbl-test at the suite setup Getting the database name Got response: "cbl-test" GET http://192.168.33.10:8091/pools/default/buckets 200 Found buckets: [u'travel-sample'] Deleting existing travel-sample bucket GET http://Administrator:password@192.168.33.10:8091/pools 200 Deleting RBAC user travel-sample DELETE http://192.168.33.10:8091/settings/rbac/users/local/travel-sample 200 DELETE http://192.168.33.10:8091/pools/default/buckets/travel-sample 200 Loading sample bucket travel-sample Enabling sample bucket travel-sample Connecting to 192.168.33.10 Running 'sudo /opt/couchbase/bin/cbdocloader -c localhost:8091 -u Administrator -p password -b travel-sample -m 100 -d /opt/couchbase/samples/travel-sample.zip' on host 192.168.33.10 Data loaded succesfully Closing connection to 192.168.33.10 Creating RBAC user travel-sample with password password and roles ro_admin,bucket_full_access[travel-sample] PUT http://192.168.33.10:8091/settings/rbac/users/local/travel-sample 200 Extracted host (192.168.33.11) from url (http://192.168.33.11:4985) Restarting sync gateway 192.168.33.11 Restarting sync_gateway on sg1 ... Running playbook: libraries/provision/ansible/playbooks/restart-sync-gateway.yml PLAY [sync_gateways] *********************************************************** TASK [setup] ******************************************************************* ok: [sg1] TASK [SYNC GATEWAY | Stop sync_gateway service] ******************************** changed: [sg1] TASK [SYNC GATEWAY | Stop sync_gateway for CentOS 6] *************************** skipping: [sg1] TASK [SYNC GATEWAY | Verify sync_gateway not listening on port] **************** ok: [sg1] TASK [SYNC GATEWAY | Stop sync_gateway service on Windows] ********************* skipping: [sg1] PLAY [sync_gateways] *********************************************************** TASK [setup] ******************************************************************* ok: [sg1] TASK [debug] ******************************************************************* ok: [sg1] => { "msg": "Starting sync_gateway" } TASK [SYNC GATEWAY | Start sync gateway service] ******************************* changed: [sg1] TASK [SYNC GATEWAY | Wait until sync gateway to listen on port] **************** ok: [sg1] TASK [debug] ******************************************************************* skipping: [sg1] TASK [SYNC GATEWAY | Start sync_gateway service on Windows] ******************** skipping: [sg1] TASK [SYNC GATEWAY | Wait until sync gateway to listen on port] **************** skipping: [sg1] PLAY RECAP ********************************************************************* sg1 : ok=7 changed=2 unreachable=0 failed=0 Connecting to 192.168.33.10/travel-sample with password password Creating primary index for travel-sample Got response: I-1 Got response: "connecting" Activity level: connecting Got response: I-1 Got response: "busy" Got response: L400 Got response: L307 Activity level: busy Got response: I-1 Got response: "busy" Got response: L1400 Got response: L1251 Activity level: busy Got response: I-1 Got response: "busy" Got response: L2400 Got response: L2251 Activity level: busy Got response: I-1 Got response: "busy" Got response: L3600 Got response: L3335 Activity level: busy Got response: I-1 Got response: "busy" Got response: L4600 Got response: L4309 Activity level: busy Got response: I-1 Got response: "busy" Got response: L5600 Got response: L5310 Activity level: busy Got response: I-1 Got response: "busy" Got response: L6600 Got response: L6300 Activity level: busy Got response: I-1 Got response: "busy" Got response: L7600 Got response: L7434 Activity level: busy Got response: I-1 Got response: "busy" Got response: L8600 Got response: L8345 Activity level: busy Got response: I-1 Got response: "busy" Got response: L9600 Got response: L9339 Activity level: busy Got response: I-1 Got response: "busy" Got response: L10600 Got response: L10374 Activity level: busy Got response: I-1 Got response: "busy" Got response: L11600 Got response: L11439 Activity level: busy Got response: I-1 Got response: "busy" Got response: L12800 Got response: L12437 Activity level: busy Got response: I-1 Got response: "busy" Got response: L13600 Got response: L13340 Activity level: busy Got response: I-1 Got response: "busy" Got response: L14600 Got response: L14345 Activity level: busy Got response: I-1 Got response: "busy" Got response: L15600 Got response: L15285 Activity level: busy Got response: I-1 Got response: "busy" Got response: L16400 Got response: L16206 Activity level: busy Got response: I-1 Got response: "busy" Got response: L17400 Got response: L17227 Activity level: busy Got response: I-1 Got response: "busy" Got response: L18400 Got response: L18205 Activity level: busy Got response: I-1 Got response: "busy" Got response: L19400 Got response: L19134 Activity level: busy Got response: I-1 Got response: "busy" Got response: L20400 Got response: L20048 Activity level: busy Got response: I-1 Got response: "busy" Got response: L21200 Got response: L21013 Activity level: busy Got response: I-1 Got response: "busy" Got response: L22200 Got response: L21930 Activity level: busy Got response: I-1 Got response: "busy" Got response: L23200 Got response: L22905 Activity level: busy Got response: I-1 Got response: "busy" Got response: L24200 Got response: L23925 Activity level: busy Got response: I-1 Got response: "busy" Got response: L25000 Got response: L24845 Activity level: busy Got response: I-1 Got response: "busy" Got response: L26200 Got response: L25840 Activity level: busy Got response: I-1 Got response: "busy" Got response: L27000 Got response: L26838 Activity level: busy Got response: I-1 Got response: "busy" Got response: L28000 Got response: L27706 Activity level: busy Got response: I-1 Got response: "busy" Got response: L29000 Got response: L28701 Activity level: busy Got response: I-1 Got response: "busy" Got response: L30000 Got response: L29700 Activity level: busy Got response: I-1 Got response: "busy" Got response: L31000 Got response: L30762 Activity level: busy Got response: I-1 Got response: "idle" Got response: L31591 Got response: L31591 Activity level: idle Got response: L31591 Got response: L31591 Stopping replication Got response: I-1 Got response: "stopped" Got response: "stopped" {u'load_generators': [], u'couchbase_servers': [{u'ip': u'192.168.33.10', u'name': u'cb1'}], u'sync_gateways': [{u'ip': u'192.168.33.11', u'name': u'sg1'}], u'environment': {u'delta_sync_enabled': False, u'x509_certs': False, u'sync_gateway_ssl': False, u'sg_lb_enabled': False, u'sg_use_views': False, u'cbl_log_decoder_platform': None, u'no_conflicts_enabled': False, u'xattrs_enabled': True, u'number_replicas': 0, u'sync_gateway_version': u'2.6.0-127', u'ipv6_enabled': False, u'cbs_ssl_enabled': False, u'server_version': u'6.0.1-2037'}, u'hosts': [{u'ip': u'192.168.33.10', u'name': u'host1'}, {u'ip': u'192.168.33.11', u'name': u'host2'}], u'load_balancers': [], u'sg_accels': []} Running test 'test_query_substring[email-name-maisondeverlaine@gmail.com]' cluster_config: resources/cluster_configs/base_cc cluster_topology: {'load_balancers': [], 'sg_accels': [], 'sync_gateways': [{'admin': 'http://192.168.33.11:4985', 'public': 'http://192.168.33.11:4984'}], 'couchbase_servers': ['http://192.168.33.10:8091']} mode: cc xattrs_enabled: True Extracted host (192.168.33.10) from url (http://192.168.33.10:8091) Fetching docs from CBL through query docs_from_cbl: [{'$1': u'LA MAISON DE VERLAINE \xe0 METZ', 'id': u'landmark_17957', 'email': u'maisondeverlaine@gmail.com'}] Fetching docs from server through n1ql select meta().id, email, UPPER(name) from `travel-sample` t where CONTAINS(t.email, "maisondeverlaine@gmail.com") FAILEDTearing down test Deleting the database cbl-test at the suite teardown Got response: I-1 Flushing server memory Got response: I-1 Stopping the test server per suite Stopping LiteServ: http://192.168.33.126:8080 Success Clearing png files in resources/data ----------------------- generated xml file: /Users/eunicehuang/dev/mobile-testkit/results/results.xml ----------------------- ---------------------- generated html file: /Users/eunicehuang/dev/mobile-testkit/results/report.html ----------------------- ========================================================= FAILURES ========================================================== ________________________________ test_query_substring[email-name-maisondeverlaine@gmail.com] ________________________________ params_from_base_test_setup = {'base_url': 'http://192.168.33.126:8080', 'cbl_db': None, 'cbl_log_decoder_build': None, 'cbl_log_decoder_platform': None, ...} select_property1 = 'email', select_property2 = 'name', substring = 'maisondeverlaine@gmail.com' @pytest.mark.parametrize("select_property1, select_property2, substring", [ ("email", "name", "maisondeverlaine@gmail.com"), ]) def test_query_substring(params_from_base_test_setup, select_property1, select_property2, substring): """ @summary Fetches docs in with a matching substring let searchQuery = Query .select(SelectResult.expression(Expression.meta().id), SelectResult.expression(Expression.property("email")), SelectResult.expression(Function.upper(Expression.property("name")))) .from(DataSource.database(db)) .where(Expression.property("email").and(Function.contains(Expression.property("email"), substring: "gmail.com"))) Verifies with n1ql - select meta().id, email, UPPER(name) from `travel-sample` t where CONTAINS(t.email, "gmail.com") """ cluster_topology = params_from_base_test_setup["cluster_topology"] source_db = params_from_base_test_setup["suite_source_db"] cbs_url = cluster_topology['couchbase_servers'][0] base_url = params_from_base_test_setup["base_url"] cbs_ip = host_for_url(cbs_url) log_info("Fetching docs from CBL through query") qy = Query(base_url) result_set = qy.query_substring(source_db, select_property1, select_property2, substring) docs_from_cbl = [] for docs in result_set: docs_from_cbl.append(docs) log_info("docs_from_cbl: {}".format(docs_from_cbl)) # Get doc from n1ql through query log_info("Fetching docs from server through n1ql") bucket_name = "travel-sample" sdk_client = Bucket('couchbase://{}/{}'.format(cbs_ip, bucket_name), password='password') n1ql_query = 'select meta().id, {}, UPPER({}) from `{}` t where CONTAINS(t.{}, "{}")'.format(select_property1, select_property2, bucket_name, select_property1, substring) log_info(n1ql_query) query = N1QLQuery(n1ql_query) docs_from_n1ql = [] for row in sdk_client.n1ql_query(query): docs_from_n1ql.append(row) assert len(docs_from_cbl) == len(docs_from_n1ql) for doc in docs_from_cbl: > assert doc in docs_from_n1ql E assert {'$1': 'LA MAISON DE VERLAINE à METZ', 'email': 'maisondeverlaine@gmail.com', 'id': 'landmark_17957'} in [{'$1': 'LA MAISON DE VERLAINE À METZ', 'email': 'maisondeverlaine@gmail.com', 'id': 'landmark_17957'}] testsuites/CBLTester/CBL_Functional_tests/SuiteSetup_FunctionalTests/test_query.py:533: AssertionError ==================================================== 72 tests deselected ==================================================== ========================================= 1 failed, 72 deselected in 457.79 seconds ========================================= (venv) eunices-mbp:mobile-testkit eunicehuang$