@org.testng.annotations.Ignore - java examples

Here are the examples of the java api @org.testng.annotations.Ignore taken from open source projects. By voting up you can indicate which examples are most useful and appropriate.

54 Examples 7

19 View Complete Implementation : IgnoreClassSample.java
Copyright Apache License 2.0
Author : cbeust
@Ignore
public clreplaced IgnoreClreplacedSample extends ParentSample {

    @Test
    public void test() {
    }

    @Test
    public void test2() {
    }
}

19 View Complete Implementation : DateIndexTests.java
Copyright Apache License 2.0
Author : TIBCOSoftware
/**
 * Copyright 2018 TIBCO Software Inc. All rights reserved.
 *
 * Licensed under the Apache License, Version 2.0 (the "License"); You may not use this file except
 * in compliance with the License.
 * A copy of the License is included in the distribution package with this file.
 * You also may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
/**
 * CRUD tests for Date data type index
 */
@Ignore
public clreplaced DateIndexTests extends LifecycleServer {

    /**
     * *********************
     *
     *  Test Cases
     *
     * **********************
     */
    /**
     * testCreateDateData - Insert nodes with date index
     * @throws Exception
     */
    @Test(description = "Insert nodes with date index")
    public void testCreateDateData() throws Exception {
        TGConnection conn = TGConnectionFactory.getInstance().createConnection(tgUrl, tgUser, tgPwd, null);
        conn.connect();
        TGGraphObjectFactory gof = conn.getGraphObjectFactory();
        if (gof == null) {
            throw new org.testng.TestException("TG object factory is null");
        }
        TGGraphMetadata gmd = conn.getGraphMetadata(true);
        TGNodeType nodeDateIdxType = gmd.getNodeType("nodeDateIdx");
        if (nodeDateIdxType == null)
            throw new Exception("Node type not found");
        Object[][] data = this.getDateData();
        List<TGNode> nodes = new ArrayList<TGNode>();
        for (int i = 0; i < data.length; i++) {
            TGNode node = gof.createNode(nodeDateIdxType);
            node.setAttribute("dateAttr", data[i][0]);
            node.setAttribute("key", i);
            nodes.add(node);
            conn.insertEnreplacedy(node);
        }
        conn.commit();
        conn.disconnect();
    }

    /**
     * testReadDateData - Retrieve nodes with date index
     * @throws Exception
     */
    @Test(description = "Retrieve nodes with date index", dependsOnMethods = { "testCreateDateData" })
    public void testReadDateData() throws Exception {
        TGConnection conn = TGConnectionFactory.getInstance().createConnection(tgUrl, tgUser, tgPwd, null);
        conn.connect();
        TGGraphObjectFactory gof = conn.getGraphObjectFactory();
        if (gof == null) {
            throw new org.testng.TestException("TG object factory is null");
        }
        conn.getGraphMetadata(true);
        TGKey tgKey = gof.createCompositeKey("nodeDateIdx");
        Object[][] data = this.getDateData();
        for (int i = 0; i < data.length; i++) {
            tgKey.setAttribute("key", i);
            TGEnreplacedy enreplacedy = conn.getEnreplacedy(tgKey, null);
            if (enreplacedy == null) {
                throw new org.testng.TestException("TG enreplacedy #" + i + " was not retrieved");
            }
            // System.out.println("READ ATTR :" + data[i][0]);
            // replacedert on Node attribute
            replacedert.replacedertEquals(enreplacedy.getAttribute("dateAttr").getValue(), data[i][0]);
        }
        conn.disconnect();
    }

    /**
     * testUpdateDateData - Update date index
     * @throws Exception
     */
    @Test(description = "Update date index", dependsOnMethods = { "testReadDateData" }, enabled = false)
    public void testUpdateDateData() throws Exception {
        TGConnection conn = TGConnectionFactory.getInstance().createConnection(tgUrl, tgUser, tgPwd, null);
        conn.connect();
        TGGraphObjectFactory gof = conn.getGraphObjectFactory();
        if (gof == null) {
            throw new org.testng.TestException("TG object factory is null");
        }
        conn.getGraphMetadata(true);
        TGKey tgKey = gof.createCompositeKey("nodeDateIdx");
        Object[][] data = this.getDateData();
        for (int i = 0; i < data.length; i++) {
            tgKey.setAttribute("key", i);
            TGEnreplacedy enreplacedy = conn.getEnreplacedy(tgKey, null);
            if (enreplacedy == null) {
                throw new org.testng.TestException("TG enreplacedy #" + i + " was not retrieved");
            }
            enreplacedy.setAttribute("dateAttr", data[i][1]);
            conn.updateEnreplacedy(enreplacedy);
            conn.commit();
        }
        conn.disconnect();
    }

    /**
     * testReadUpdatedDateData - Retrieve nodes with updated date index
     * @throws Exception
     */
    @Test(description = "Retrieve nodes with updated date index", dependsOnMethods = { "testUpdateDateData" }, enabled = false)
    public void testReadUpdatedDateData() throws Exception {
        TGConnection conn = TGConnectionFactory.getInstance().createConnection(tgUrl, tgUser, tgPwd, null);
        conn.connect();
        TGGraphObjectFactory gof = conn.getGraphObjectFactory();
        if (gof == null) {
            throw new org.testng.TestException("TG object factory is null");
        }
        conn.getGraphMetadata(true);
        TGKey tgKey = gof.createCompositeKey("nodeDateIdx");
        Object[][] data = this.getDateData();
        for (int i = 0; i < data.length; i++) {
            tgKey.setAttribute("key", i);
            TGEnreplacedy enreplacedy = conn.getEnreplacedy(tgKey, null);
            // replacedert on Node attribute
            // replacedert.replacedertFalse(enreplacedy.getAttribute("dateAttr").isNull(), "Expected attribute #"+i+" non null but found it null -");
            replacedert.replacedertEquals(enreplacedy.getAttribute("dateAttr").getValue(), data[i][1]);
        }
        conn.disconnect();
    }

    /**
     * testDeleteDateData - Delete date index
     * @throws Exception
     */
    @Test(description = "Delete date index", dependsOnMethods = { "testReadUpdatedDateData" }, enabled = false)
    public void testDeleteDateData() throws Exception {
        TGConnection conn = TGConnectionFactory.getInstance().createConnection(tgUrl, tgUser, tgPwd, null);
        conn.connect();
        TGGraphObjectFactory gof = conn.getGraphObjectFactory();
        if (gof == null) {
            throw new org.testng.TestException("TG object factory is null");
        }
        conn.getGraphMetadata(true);
        TGKey tgKey = gof.createCompositeKey("nodeDateIdx");
        Object[][] data = this.getDateData();
        for (int i = 0; i < data.length; i++) {
            tgKey.setAttribute("key", 0);
            TGEnreplacedy enreplacedy = conn.getEnreplacedy(tgKey, null);
            if (enreplacedy == null) {
                throw new org.testng.TestException("TG enreplacedy #" + i + " was not retrieved");
            }
            // delete the boolean value
            enreplacedy.setAttribute("dateAttr", null);
            conn.updateEnreplacedy(enreplacedy);
            conn.commit();
        }
        conn.disconnect();
    }

    /**
     * testReadDeletedDateData - Retrieve deleted date index
     * @throws Exception
     */
    @Test(description = "Retrieve deleted date index", dependsOnMethods = { "testDeleteDateData" }, enabled = false)
    public void testReadDeletedDateData() throws Exception {
        TGConnection conn = TGConnectionFactory.getInstance().createConnection(tgUrl, tgUser, tgPwd, null);
        conn.connect();
        TGGraphObjectFactory gof = conn.getGraphObjectFactory();
        if (gof == null) {
            throw new org.testng.TestException("TG object factory is null");
        }
        conn.getGraphMetadata(true);
        TGKey tgKey = gof.createCompositeKey("nodeDateIdx");
        Object[][] data = this.getDateData();
        for (int i = 0; i < data.length; i++) {
            tgKey.setAttribute("key", 0);
            TGEnreplacedy enreplacedy = conn.getEnreplacedy(tgKey, null);
            // replacedert on Node attribute
            replacedert.replacedertTrue(enreplacedy.getAttribute("dateAttr").isNull(), "Expected attribute #" + i + " null but found it non null -");
        }
        conn.disconnect();
    }

    /**
     * *********************
     *
     *  Data Providers
     *
     * **********************
     */
    /**
     * Provide a set of date data
     * @return Object[][] of data
     * @throws IOException
     * @throws EvalError
     */
    @DataProvider(name = "DateData")
    public Object[][] getDateData() throws IOException, EvalError {
        Object[][] data = PipedData.read(this.getClreplaced().getResourcereplacedtream("/" + this.getClreplaced().getPackage().getName().replace('.', '/') + "/date.data"));
        return data;
    }
}

19 View Complete Implementation : UserDefinedFunctionQueryTest.java
Copyright MIT License
Author : Azure
// FIXME beforeClreplaced times out inconsistently
@Ignore
public clreplaced UserDefinedFunctionQueryTest extends TestSuiteBase {

    private Database createdDatabase;

    private CosmosContainer createdCollection;

    private List<CosmosUserDefinedFunctionProperties> createdUDF = new ArrayList<>();

    private CosmosClient client;

    public String getCollectionLink() {
        return TestUtils.getCollectionNameLink(createdDatabase.id(), createdCollection.id());
    }

    @Factory(dataProvider = "clientBuildersWithDirect")
    public UserDefinedFunctionQueryTest(CosmosClientBuilder clientBuilder) {
        super(clientBuilder);
    }

    @Test(groups = { "simple" }, timeOut = TIMEOUT)
    public void queryWithFilter() throws Exception {
        String filterId = createdUDF.get(0).id();
        String query = String.format("SELECT * from c where c.id = '%s'", filterId);
        FeedOptions options = new FeedOptions();
        options.maxItemCount(5);
        Flux<FeedResponse<CosmosUserDefinedFunctionProperties>> queryObservable = createdCollection.getScripts().queryUserDefinedFunctions(query, options);
        List<CosmosUserDefinedFunctionProperties> expectedDocs = createdUDF.stream().filter(sp -> filterId.equals(sp.id())).collect(Collectors.toList());
        replacedertThat(expectedDocs).isNotEmpty();
        int expectedPageSize = (expectedDocs.size() + options.maxItemCount() - 1) / options.maxItemCount();
        FeedResponseListValidator<CosmosUserDefinedFunctionProperties> validator = new FeedResponseListValidator.Builder<CosmosUserDefinedFunctionProperties>().totalSize(expectedDocs.size()).exactlyContainsInAnyOrder(expectedDocs.stream().map(d -> d.resourceId()).collect(Collectors.toList())).numberOfPages(expectedPageSize).pageSatisfy(0, new FeedResponseValidator.Builder<CosmosUserDefinedFunctionProperties>().requestChargeGreaterThanOrEqualTo(1.0).build()).build();
        validateQuerySuccess(queryObservable, validator, 10000);
    }

    @Test(groups = { "simple" }, timeOut = TIMEOUT)
    public void query_NoResults() throws Exception {
        String query = "SELECT * from root r where r.id = '2'";
        FeedOptions options = new FeedOptions();
        options.enableCrossParreplacedionQuery(true);
        Flux<FeedResponse<CosmosUserDefinedFunctionProperties>> queryObservable = createdCollection.getScripts().queryUserDefinedFunctions(query, options);
        FeedResponseListValidator<CosmosUserDefinedFunctionProperties> validator = new FeedResponseListValidator.Builder<CosmosUserDefinedFunctionProperties>().containsExactly(new ArrayList<>()).numberOfPages(1).pageSatisfy(0, new FeedResponseValidator.Builder<CosmosUserDefinedFunctionProperties>().requestChargeGreaterThanOrEqualTo(1.0).build()).build();
        validateQuerySuccess(queryObservable, validator);
    }

    @Test(groups = { "simple" }, timeOut = TIMEOUT)
    public void queryAll() throws Exception {
        String query = "SELECT * from root";
        FeedOptions options = new FeedOptions();
        options.maxItemCount(3);
        options.enableCrossParreplacedionQuery(true);
        Flux<FeedResponse<CosmosUserDefinedFunctionProperties>> queryObservable = createdCollection.getScripts().queryUserDefinedFunctions(query, options);
        List<CosmosUserDefinedFunctionProperties> expectedDocs = createdUDF;
        int expectedPageSize = (expectedDocs.size() + options.maxItemCount() - 1) / options.maxItemCount();
        FeedResponseListValidator<CosmosUserDefinedFunctionProperties> validator = new FeedResponseListValidator.Builder<CosmosUserDefinedFunctionProperties>().exactlyContainsInAnyOrder(expectedDocs.stream().map(d -> d.resourceId()).collect(Collectors.toList())).numberOfPages(expectedPageSize).allPagesSatisfy(new FeedResponseValidator.Builder<CosmosUserDefinedFunctionProperties>().requestChargeGreaterThanOrEqualTo(1.0).build()).build();
        validateQuerySuccess(queryObservable, validator);
    }

    @Test(groups = { "simple" }, timeOut = TIMEOUT)
    public void invalidQuerySytax() throws Exception {
        String query = "I am an invalid query";
        FeedOptions options = new FeedOptions();
        options.enableCrossParreplacedionQuery(true);
        Flux<FeedResponse<CosmosUserDefinedFunctionProperties>> queryObservable = createdCollection.getScripts().queryUserDefinedFunctions(query, options);
        FailureValidator validator = new FailureValidator.Builder().instanceOf(CosmosClientException.clreplaced).statusCode(400).notNullActivityId().build();
        validateQueryFailure(queryObservable, validator);
    }

    public CosmosUserDefinedFunctionProperties createUserDefinedFunction(CosmosContainer cosmosContainer) {
        CosmosUserDefinedFunctionProperties storedProcedure = getUserDefinedFunctionDef();
        return cosmosContainer.getScripts().createUserDefinedFunction(storedProcedure).block().properties();
    }

    @BeforeClreplaced(groups = { "simple" }, timeOut = SETUP_TIMEOUT)
    public void beforeClreplaced() throws Exception {
        client = clientBuilder().build();
        createdCollection = getSharedMultiParreplacedionCosmosContainer(client);
        truncateCollection(createdCollection);
        for (int i = 0; i < 5; i++) {
            createdUDF.add(createUserDefinedFunction(createdCollection));
        }
        waitIfNeededForReplicasToCatchUp(clientBuilder());
    }

    @AfterClreplaced(groups = { "simple" }, timeOut = SHUTDOWN_TIMEOUT, alwaysRun = true)
    public void afterClreplaced() {
        safeClose(client);
    }

    private static CosmosUserDefinedFunctionProperties getUserDefinedFunctionDef() {
        CosmosUserDefinedFunctionProperties udf = new CosmosUserDefinedFunctionProperties();
        udf.id(UUID.randomUUID().toString());
        udf.body("function() {var x = 10;}");
        return udf;
    }
}

19 View Complete Implementation : ChildClassTestSample.java
Copyright Apache License 2.0
Author : cbeust
@Ignore
public clreplaced ChildClreplacedTestSample extends ParentClreplacedTestSample {

    @Override
    protected void hook() {
    }
}

19 View Complete Implementation : GenericsWithTypeclassesTests.java
Copyright Apache License 2.0
Author : wurstscript
@Test
@Ignore
public void normalFoldlInfer() {
    // #657
    testreplacedertOkLines(true, "package test", "native testSuccess()", "@extern native I2S(int i) returns string", "string array s", "int s_max = -1", "clreplaced LinkedList<T:>", "	T x", "	function foldl<Q:>(Q startValue, FoldClosure<T, Q> predicate) returns Q", "		return predicate.run(x, startValue)", "	function toString() returns string", "		let fold = foldl(\"[\", (i, q) -> q + I2S(i castTo int) + \",\")", "		return fold + \"]\"", "interface FoldClosure<T:, Q:>", "	function run(T t, Q q) returns Q", "init", "	let x = new LinkedList<int>", "	x.x = 5", "	if x.toString() == \"[5,]\"", "		testSuccess()");
}

19 View Complete Implementation : TriggerQueryTest.java
Copyright MIT License
Author : Azure
// FIXME beforeClreplaced times out.
@Ignore
public clreplaced TriggerQueryTest extends TestSuiteBase {

    private CosmosContainer createdCollection;

    private static final List<CosmosTriggerProperties> createdTriggers = new ArrayList<>();

    private CosmosClient client;

    @Factory(dataProvider = "clientBuildersWithDirect")
    public TriggerQueryTest(CosmosClientBuilder clientBuilder) {
        super(clientBuilder);
    }

    @Test(groups = { "simple" }, timeOut = TIMEOUT)
    public void queryWithFilter() throws Exception {
        String filterId = createdTriggers.get(0).id();
        String query = String.format("SELECT * from c where c.id = '%s'", filterId);
        FeedOptions options = new FeedOptions();
        options.maxItemCount(5);
        Flux<FeedResponse<CosmosTriggerProperties>> queryObservable = createdCollection.getScripts().queryTriggers(query, options);
        List<CosmosTriggerProperties> expectedDocs = createdTriggers.stream().filter(sp -> filterId.equals(sp.id())).collect(Collectors.toList());
        replacedertThat(expectedDocs).isNotEmpty();
        int expectedPageSize = (expectedDocs.size() + options.maxItemCount() - 1) / options.maxItemCount();
        FeedResponseListValidator<CosmosTriggerProperties> validator = new FeedResponseListValidator.Builder<CosmosTriggerProperties>().totalSize(expectedDocs.size()).exactlyContainsInAnyOrder(expectedDocs.stream().map(Resource::resourceId).collect(Collectors.toList())).numberOfPages(expectedPageSize).pageSatisfy(0, new FeedResponseValidator.Builder<CosmosTriggerProperties>().requestChargeGreaterThanOrEqualTo(1.0).build()).build();
        validateQuerySuccess(queryObservable, validator, 10000);
    }

    @Test(groups = { "simple" }, timeOut = TIMEOUT)
    public void query_NoResults() throws Exception {
        String query = "SELECT * from root r where r.id = '2'";
        FeedOptions options = new FeedOptions();
        options.enableCrossParreplacedionQuery(true);
        Flux<FeedResponse<CosmosTriggerProperties>> queryObservable = createdCollection.getScripts().queryTriggers(query, options);
        FeedResponseListValidator<CosmosTriggerProperties> validator = new FeedResponseListValidator.Builder<CosmosTriggerProperties>().containsExactly(new ArrayList<>()).numberOfPages(1).pageSatisfy(0, new FeedResponseValidator.Builder<CosmosTriggerProperties>().requestChargeGreaterThanOrEqualTo(1.0).build()).build();
        validateQuerySuccess(queryObservable, validator);
    }

    @Test(groups = { "simple" }, timeOut = TIMEOUT)
    public void queryAll() throws Exception {
        String query = "SELECT * from root";
        FeedOptions options = new FeedOptions();
        options.maxItemCount(3);
        options.enableCrossParreplacedionQuery(true);
        Flux<FeedResponse<CosmosTriggerProperties>> queryObservable = createdCollection.getScripts().queryTriggers(query, options);
        createdTriggers.forEach(cosmosTriggerSettings -> logger.info("Created trigger in method: {}", cosmosTriggerSettings.resourceId()));
        List<CosmosTriggerProperties> expectedDocs = createdTriggers;
        int expectedPageSize = (expectedDocs.size() + options.maxItemCount() - 1) / options.maxItemCount();
        FeedResponseListValidator<CosmosTriggerProperties> validator = new FeedResponseListValidator.Builder<CosmosTriggerProperties>().exactlyContainsInAnyOrder(expectedDocs.stream().map(Resource::resourceId).collect(Collectors.toList())).numberOfPages(expectedPageSize).allPagesSatisfy(new FeedResponseValidator.Builder<CosmosTriggerProperties>().requestChargeGreaterThanOrEqualTo(1.0).build()).build();
        validateQuerySuccess(queryObservable, validator);
    }

    @Test(groups = { "simple" }, timeOut = TIMEOUT)
    public void invalidQuerySytax() throws Exception {
        String query = "I am an invalid query";
        FeedOptions options = new FeedOptions();
        options.enableCrossParreplacedionQuery(true);
        Flux<FeedResponse<CosmosTriggerProperties>> queryObservable = createdCollection.getScripts().queryTriggers(query, options);
        FailureValidator validator = new FailureValidator.Builder().instanceOf(CosmosClientException.clreplaced).statusCode(400).notNullActivityId().build();
        validateQueryFailure(queryObservable, validator);
    }

    public CosmosTriggerProperties createTrigger(CosmosContainer cosmosContainer) {
        CosmosTriggerProperties storedProcedure = getTriggerDef();
        return cosmosContainer.getScripts().createTrigger(storedProcedure).block().properties();
    }

    @BeforeClreplaced(groups = { "simple" }, timeOut = SETUP_TIMEOUT)
    public void beforeClreplaced() throws Exception {
        client = clientBuilder().build();
        createdCollection = getSharedMultiParreplacedionCosmosContainer(client);
        truncateCollection(createdCollection);
        createdTriggers.clear();
        for (int i = 0; i < 5; i++) {
            createdTriggers.add(createTrigger(createdCollection));
        }
        waitIfNeededForReplicasToCatchUp(clientBuilder());
    }

    @AfterClreplaced(groups = { "simple" }, timeOut = SHUTDOWN_TIMEOUT, alwaysRun = true)
    public void afterClreplaced() {
        safeClose(client);
    }

    private static CosmosTriggerProperties getTriggerDef() {
        CosmosTriggerProperties trigger = new CosmosTriggerProperties();
        trigger.id(UUID.randomUUID().toString());
        trigger.body("function() {var x = 10;}");
        trigger.triggerOperation(TriggerOperation.CREATE);
        trigger.triggerType(TriggerType.PRE);
        return trigger;
    }
}

19 View Complete Implementation : TestChannelsFromEvents.java
Copyright Apache License 2.0
Author : princesslana
@Ignore
private <T> void replacedertObserver(TestObserver<T> observer, T value) {
    observer.replacedertNoErrors();
    observer.replacedertComplete();
    observer.replacedertValue(value);
}

19 View Complete Implementation : ReadFeedTriggersTest.java
Copyright MIT License
Author : Azure
// FIXME beforeClreplaced times out inconsistently.
@Ignore
public clreplaced ReadFeedTriggersTest extends TestSuiteBase {

    private CosmosContainer createdCollection;

    private List<CosmosTriggerProperties> createdTriggers = new ArrayList<>();

    private CosmosClient client;

    @Factory(dataProvider = "clientBuildersWithDirect")
    public ReadFeedTriggersTest(CosmosClientBuilder clientBuilder) {
        super(clientBuilder);
    }

    @Test(groups = { "simple" }, timeOut = FEED_TIMEOUT)
    public void readTriggers() throws Exception {
        FeedOptions options = new FeedOptions();
        options.maxItemCount(2);
        Flux<FeedResponse<CosmosTriggerProperties>> feedObservable = createdCollection.getScripts().readAllTriggers(options);
        int expectedPageSize = (createdTriggers.size() + options.maxItemCount() - 1) / options.maxItemCount();
        FeedResponseListValidator<CosmosTriggerProperties> validator = new FeedResponseListValidator.Builder<CosmosTriggerProperties>().totalSize(createdTriggers.size()).exactlyContainsInAnyOrder(createdTriggers.stream().map(d -> d.resourceId()).collect(Collectors.toList())).numberOfPages(expectedPageSize).allPagesSatisfy(new FeedResponseValidator.Builder<CosmosTriggerProperties>().requestChargeGreaterThanOrEqualTo(1.0).build()).build();
        validateQuerySuccess(feedObservable, validator, FEED_TIMEOUT);
    }

    @BeforeClreplaced(groups = { "simple" }, timeOut = SETUP_TIMEOUT)
    public void beforeClreplaced() {
        client = clientBuilder().build();
        createdCollection = getSharedMultiParreplacedionCosmosContainer(client);
        truncateCollection(createdCollection);
        for (int i = 0; i < 5; i++) {
            this.createdTriggers.add(this.createTriggers(createdCollection));
        }
        waitIfNeededForReplicasToCatchUp(clientBuilder());
    }

    @AfterClreplaced(groups = { "simple" }, timeOut = SHUTDOWN_TIMEOUT, alwaysRun = true)
    public void afterClreplaced() {
        safeClose(client);
    }

    public CosmosTriggerProperties createTriggers(CosmosContainer cosmosContainer) {
        CosmosTriggerProperties trigger = new CosmosTriggerProperties();
        trigger.id(UUID.randomUUID().toString());
        trigger.body("function() {var x = 10;}");
        trigger.triggerOperation(TriggerOperation.CREATE);
        trigger.triggerType(TriggerType.PRE);
        return cosmosContainer.getScripts().createTrigger(trigger).block().properties();
    }
}

19 View Complete Implementation : TimeIndexTests.java
Copyright Apache License 2.0
Author : TIBCOSoftware
/**
 * Copyright 2018 TIBCO Software Inc. All rights reserved.
 *
 * Licensed under the Apache License, Version 2.0 (the "License"); You may not use this file except
 * in compliance with the License.
 * A copy of the License is included in the distribution package with this file.
 * You also may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
/**
 * CRUD tests for time data type index
 */
@Ignore
public clreplaced TimeIndexTests extends LifecycleServer {

    Object[][] data;

    public TimeIndexTests() throws IOException, EvalError {
        this.data = this.getTimeData();
    }

    /**
     * *********************
     *
     *  Test Cases
     *
     * **********************
     */
    /**
     * testCreateTimeData - Insert nodes with time index
     * @throws Exception
     */
    @Test(description = "Insert nodes with time index")
    public void testCreateTimeData() throws Exception {
        TGConnection conn = TGConnectionFactory.getInstance().createConnection(tgUrl, tgUser, tgPwd, null);
        conn.connect();
        TGGraphObjectFactory gof = conn.getGraphObjectFactory();
        if (gof == null) {
            throw new org.testng.TestException("TG object factory is null");
        }
        TGGraphMetadata gmd = conn.getGraphMetadata(true);
        TGNodeType nodeTimeIdxType = gmd.getNodeType("nodeTimeIdx");
        if (nodeTimeIdxType == null)
            throw new Exception("Node type not found");
        // Object[][] data = this.getTimeData();
        List<TGNode> nodes = new ArrayList<TGNode>();
        for (int i = 0; i < data.length; i++) {
            // System.out.println("CREATE ATTR:" + data[i][0]);
            TGNode node = gof.createNode(nodeTimeIdxType);
            node.setAttribute("timeAttr", data[i][0]);
            node.setAttribute("key", i);
            nodes.add(node);
            conn.insertEnreplacedy(node);
        }
        conn.commit();
        conn.disconnect();
    }

    /**
     * testReadTimeData - Retrieve nodes with time index
     * @throws Exception
     */
    @Test(description = "Retrieve nodes with time index", dependsOnMethods = { "testCreateTimeData" })
    public void testReadTimeData() throws Exception {
        TGConnection conn = TGConnectionFactory.getInstance().createConnection(tgUrl, tgUser, tgPwd, null);
        conn.connect();
        TGGraphObjectFactory gof = conn.getGraphObjectFactory();
        if (gof == null) {
            throw new org.testng.TestException("TG object factory is null");
        }
        conn.getGraphMetadata(true);
        TGKey tgKey = gof.createCompositeKey("nodeTimeIdx");
        // Object[][] data = this.getTimeData();
        for (int i = 0; i < data.length; i++) {
            tgKey.setAttribute("key", i);
            TGEnreplacedy enreplacedy = conn.getEnreplacedy(tgKey, null);
            if (enreplacedy == null) {
                throw new org.testng.TestException("TG enreplacedy #" + i + " was not retrieved");
            }
            System.out.println("READ ATTR:" + enreplacedy.getAttribute("timeAttr").getValue());
            // replacedert on Node attribute
            // replacedert only on time (HOUR, MIN, SEC, MILLISEC) since the Date part that comes back from DB is junk
            Calendar timeAttr = (Calendar) enreplacedy.getAttribute("timeAttr").getValue();
            if (timeAttr != null) {
                replacedert.replacedertEquals(timeAttr.get(Calendar.HOUR_OF_DAY), ((Calendar) data[i][0]).get(Calendar.HOUR_OF_DAY));
                replacedert.replacedertEquals(timeAttr.get(Calendar.MINUTE), ((Calendar) data[i][0]).get(Calendar.MINUTE));
                replacedert.replacedertEquals(timeAttr.get(Calendar.SECOND), ((Calendar) data[i][0]).get(Calendar.SECOND));
                replacedert.replacedertEquals(timeAttr.get(Calendar.MILLISECOND), ((Calendar) data[i][0]).get(Calendar.MILLISECOND));
            } else {
                // Attribute value is Null. Make sure the original value was Null too
                replacedert.replacedertEquals(timeAttr, data[i][0]);
            }
        }
        conn.disconnect();
    }

    /**
     * testUpdateTimeData - Update time index
     * @throws Exception
     */
    @Test(description = "Update time index", dependsOnMethods = { "testReadTimeData" }, enabled = false)
    public void testUpdateTimeData() throws Exception {
        TGConnection conn = TGConnectionFactory.getInstance().createConnection(tgUrl, tgUser, tgPwd, null);
        conn.connect();
        TGGraphObjectFactory gof = conn.getGraphObjectFactory();
        if (gof == null) {
            throw new org.testng.TestException("TG object factory is null");
        }
        conn.getGraphMetadata(true);
        TGKey tgKey = gof.createCompositeKey("nodeTimeIdx");
        // Object[][] data = this.getTimeData();
        for (int i = 0; i < data.length; i++) {
            tgKey.setAttribute("key", i);
            TGEnreplacedy enreplacedy = conn.getEnreplacedy(tgKey, null);
            if (enreplacedy == null) {
                throw new org.testng.TestException("TG enreplacedy #" + i + " was not retrieved");
            }
            // System.out.println("UPDATE ATTR:" + data[i][1] + " - Length:" + ((Time) data[i][1]).length());
            enreplacedy.setAttribute("timeAttr", data[i][1]);
            conn.updateEnreplacedy(enreplacedy);
            conn.commit();
        }
        conn.disconnect();
    }

    /**
     * testReadUpdatedTimeData - Retrieve nodes with updated time index
     * @throws Exception
     */
    @Test(description = "Retrieve nodes with updated time index", dependsOnMethods = { "testUpdateTimeData" }, enabled = false)
    public void testReadUpdatedTimeData() throws Exception {
        TGConnection conn = TGConnectionFactory.getInstance().createConnection(tgUrl, tgUser, tgPwd, null);
        conn.connect();
        TGGraphObjectFactory gof = conn.getGraphObjectFactory();
        if (gof == null) {
            throw new org.testng.TestException("TG object factory is null");
        }
        conn.getGraphMetadata(true);
        TGKey tgKey = gof.createCompositeKey("nodeTimeIdx");
        // Object[][] data = this.getTimeData();
        for (int i = 0; i < data.length; i++) {
            tgKey.setAttribute("key", i);
            TGEnreplacedy enreplacedy = conn.getEnreplacedy(tgKey, null);
            // System.out.println("READ UPDATED ATTR:" + enreplacedy.getAttribute("timeAttr").getValue());
            // replacedert on Node attribute
            // replacedert only on time (HOUR, MIN, SEC, MILLISEC) since the Date part that comes back from DB is junk
            // replacedert.replacedertFalse(enreplacedy.getAttribute("timeAttr").isNull(), "Expected attribute #"+i+" non null but found it null -");
            Calendar timeAttr = (Calendar) enreplacedy.getAttribute("timeAttr").getValue();
            if (timeAttr != null) {
                replacedert.replacedertEquals(timeAttr.get(Calendar.HOUR_OF_DAY), ((Calendar) data[i][1]).get(Calendar.HOUR_OF_DAY));
                replacedert.replacedertEquals(timeAttr.get(Calendar.MINUTE), ((Calendar) data[i][1]).get(Calendar.MINUTE));
                replacedert.replacedertEquals(timeAttr.get(Calendar.SECOND), ((Calendar) data[i][1]).get(Calendar.SECOND));
                replacedert.replacedertEquals(timeAttr.get(Calendar.MILLISECOND), ((Calendar) data[i][1]).get(Calendar.MILLISECOND));
            } else {
                // Attribute value is Null. Make sure the original value was Null too
                replacedert.replacedertEquals(timeAttr, data[i][1]);
            }
        }
        conn.disconnect();
    }

    /**
     * testDeleteTimeData - Delete time index
     * @throws Exception
     */
    @Test(description = "Delete time index", dependsOnMethods = { "testReadUpdatedTimeData" }, enabled = false)
    public void testDeleteTimeData() throws Exception {
        TGConnection conn = TGConnectionFactory.getInstance().createConnection(tgUrl, tgUser, tgPwd, null);
        conn.connect();
        TGGraphObjectFactory gof = conn.getGraphObjectFactory();
        if (gof == null) {
            throw new org.testng.TestException("TG object factory is null");
        }
        conn.getGraphMetadata(true);
        TGKey tgKey = gof.createCompositeKey("nodeTimeIdx");
        // Object[][] data = this.getTimeData();
        for (int i = 0; i < data.length; i++) {
            tgKey.setAttribute("key", i);
            TGEnreplacedy enreplacedy = conn.getEnreplacedy(tgKey, null);
            if (enreplacedy == null) {
                throw new org.testng.TestException("TG enreplacedy #" + i + " was not retrieved");
            }
            // delete the time value by setting it up to null
            enreplacedy.setAttribute("timeAttr", null);
            conn.updateEnreplacedy(enreplacedy);
            conn.commit();
        }
        conn.disconnect();
    }

    /**
     * testReadDeletedTimeData - Retrieve nodes with deleted time index
     * @throws Exception
     */
    @Test(description = "Retrieve nodes with deleted time index", dependsOnMethods = { "testDeleteTimeData" }, enabled = false)
    public void testReadDeletedTimeData() throws Exception {
        TGConnection conn = TGConnectionFactory.getInstance().createConnection(tgUrl, tgUser, tgPwd, null);
        conn.connect();
        TGGraphObjectFactory gof = conn.getGraphObjectFactory();
        if (gof == null) {
            throw new org.testng.TestException("TG object factory is null");
        }
        conn.getGraphMetadata(true);
        TGKey tgKey = gof.createCompositeKey("nodeTimeIdx");
        // Object[][] data = this.getTimeData();
        for (int i = 0; i < data.length; i++) {
            tgKey.setAttribute("key", i);
            TGEnreplacedy enreplacedy = conn.getEnreplacedy(tgKey, null);
            // replacedert on Node attribute
            replacedert.replacedertTrue(enreplacedy.getAttribute("timeAttr").isNull(), "Expected attribute #" + i + " null but found it non null -");
        }
        conn.disconnect();
    }

    /**
     * *********************
     *
     *  Data Providers
     *
     * **********************
     */
    /**
     * Provide a set of time data
     * @return Object[][] of data
     * @throws IOException
     * @throws EvalError
     */
    @DataProvider(name = "TimeData")
    public Object[][] getTimeData() throws IOException, EvalError {
        Object[][] data = PipedData.read(this.getClreplaced().getResourcereplacedtream("/" + this.getClreplaced().getPackage().getName().replace('.', '/') + "/time.data"));
        return data;
    }
}

19 View Complete Implementation : VeryLargeDocumentQueryTest.java
Copyright MIT License
Author : Azure
// FIXME: beforeClreplaced method times out.
@Ignore
public clreplaced VeryLargeDoreplacedentQueryTest extends TestSuiteBase {

    private final static int TIMEOUT = 60000;

    private final static int SETUP_TIMEOUT = 60000;

    private CosmosContainer createdCollection;

    private CosmosClient client;

    @Factory(dataProvider = "simpleClientBuildersWithDirect")
    public VeryLargeDoreplacedentQueryTest(CosmosClientBuilder clientBuilder) {
        super(clientBuilder);
    }

    @Test(groups = { "emulator" }, timeOut = TIMEOUT)
    public void queryLargeDoreplacedents() {
        int cnt = 5;
        for (int i = 0; i < cnt; i++) {
            createLargeDoreplacedent();
        }
        FeedOptions options = new FeedOptions();
        options.enableCrossParreplacedionQuery(true);
        Flux<FeedResponse<CosmosItemProperties>> feedResponseFlux = createdCollection.queryItems("SELECT * FROM r", options);
        AtomicInteger totalCount = new AtomicInteger();
        StepVerifier.create(feedResponseFlux.subscribeOn(Schedulers.single())).thenConsumeWhile(feedResponse -> {
            int size = feedResponse.results().size();
            totalCount.addAndGet(size);
            return true;
        }).expectComplete().verify(Duration.ofMillis(subscriberValidationTimeout));
    }

    private void createLargeDoreplacedent() {
        CosmosItemProperties docDefinition = getDoreplacedentDefinition();
        // Keep size as ~ 1.999MB to account for size of other props
        int size = (int) (ONE_MB * 1.999);
        BridgeInternal.setProperty(docDefinition, "largeString", StringUtils.repeat("x", size));
        Mono<CosmosItemResponse> createObservable = createdCollection.createItem(docDefinition, new CosmosItemRequestOptions());
        StepVerifier.create(createObservable.subscribeOn(Schedulers.single())).expectNextMatches(cosmosItemResponse -> cosmosItemResponse.properties().id().equals(docDefinition.id())).expectComplete().verify(Duration.ofMillis(subscriberValidationTimeout));
    }

    @BeforeClreplaced(groups = { "emulator" }, timeOut = 2 * SETUP_TIMEOUT)
    public void beforeClreplaced() {
        client = clientBuilder().build();
        createdCollection = getSharedMultiParreplacedionCosmosContainer(client);
        truncateCollection(createdCollection);
    }

    @AfterClreplaced(groups = { "emulator" }, timeOut = SHUTDOWN_TIMEOUT, alwaysRun = true)
    public void afterClreplaced() {
        safeClose(client);
    }

    private static CosmosItemProperties getDoreplacedentDefinition() {
        String uuid = UUID.randomUUID().toString();
        CosmosItemProperties doc = new CosmosItemProperties(String.format("{ " + "\"id\": \"%s\", " + "\"mypk\": \"%s\", " + "}", uuid, uuid));
        return doc;
    }
}

19 View Complete Implementation : InMemoryGroupbyTest.java
Copyright MIT License
Author : Azure
// FIXME setup method times out occasionally when running against emulator.
@Ignore
public clreplaced InMemoryGroupbyTest extends DoreplacedentClientTest {

    private final static int TIMEOUT = 60000;

    private AsyncDoreplacedentClient client;

    private Database createdDatabase;

    private DoreplacedentCollection createdCollection;

    @BeforeClreplaced(groups = "samples", timeOut = 2 * TIMEOUT)
    public void setUp() throws Exception {
        ConnectionPolicy connectionPolicy = new ConnectionPolicy().connectionMode(ConnectionMode.DIRECT);
        this.clientBuilder().withServiceEndpoint(TestConfigurations.HOST).withMasterKeyOrResourceToken(TestConfigurations.MASTER_KEY).withConnectionPolicy(connectionPolicy).withConsistencyLevel(ConsistencyLevel.SESSION);
        this.client = this.clientBuilder().build();
        // CREATE database
        createdDatabase = Utils.createDatabaseForTest(client);
        DoreplacedentCollection collectionDefinition = new DoreplacedentCollection();
        collectionDefinition.id(UUID.randomUUID().toString());
        ParreplacedionKeyDefinition parreplacedionKeyDef = new ParreplacedionKeyDefinition();
        ArrayList<String> paths = new ArrayList<String>();
        paths.add("/mypk");
        parreplacedionKeyDef.paths(paths);
        collectionDefinition.setParreplacedionKey(parreplacedionKeyDef);
        // CREATE collection
        createdCollection = client.createCollection("dbs/" + createdDatabase.id(), collectionDefinition, null).single().block().getResource();
        int numberOfPayers = 10;
        int numberOfDoreplacedentsPerPayer = 10;
        List<Mono<Void>> tasks = new ArrayList<>();
        for (int i = 0; i < numberOfPayers; i++) {
            for (int j = 0; j < numberOfDoreplacedentsPerPayer; j++) {
                LocalDateTime currentTime = LocalDateTime.now();
                Doreplacedent doc = new Doreplacedent(String.format("{ " + "'id' : '%s'," + "'site_id': 'ABC', " + "'payer_id': %d, " + " 'created_time' : %d " + "}", UUID.randomUUID().toString(), i, currentTime.getSecond()));
                tasks.add(client.createDoreplacedent(getCollectionLink(), doc, null, true).then());
            }
        }
        Flux.merge(tasks).then().block();
        System.out.println("finished inserting doreplacedents");
    }

    @AfterClreplaced(groups = "samples", timeOut = TIMEOUT)
    public void shutdown() {
        Utils.safeClean(client, createdDatabase);
        client.close();
    }

    /**
     * Queries Doreplacedents and performs Group by operation after fetching the Doreplacedents.
     * If you want to understand the steps in more details see {@link #groupByInMemory_MoreDetail()}
     * @throws Exception
     */
    @Test(groups = "samples", timeOut = 2 * TIMEOUT)
    public void groupByInMemory() {
        // If you want to understand the steps in more details see groupByInMemoryMoreDetail()
        int requestPageSize = 3;
        FeedOptions options = new FeedOptions();
        options.maxItemCount(requestPageSize);
        options.enableCrossParreplacedionQuery(true);
        Flux<Doreplacedent> doreplacedentsObservable = client.queryDoreplacedents(getCollectionLink(), new SqlQuerySpec("SELECT * FROM root r WHERE r.site_id=@site_id", new SqlParameterList(new SqlParameter("@site_id", "ABC"))), options).flatMap(page -> Flux.fromIterable(page.results()));
        final LocalDateTime now = LocalDateTime.now();
        List<List<Doreplacedent>> resultsGroupedAsLists = doreplacedentsObservable.filter(doc -> Math.abs(now.getSecond() - doc.getInt("created_time")) <= 90).groupBy(doc -> doc.getInt("payer_id")).flatMap(Flux::collectList).collectList().block();
        for (List<Doreplacedent> resultsForEachPayer : resultsGroupedAsLists) {
            System.out.println("doreplacedents with payer_id : " + resultsForEachPayer.get(0).getInt("payer_id") + " are " + resultsForEachPayer);
        }
    }

    /**
     * This does the same thing as {@link #groupByInMemory_MoreDetail()} but with pedagogical details
     * @throws Exception
     */
    @Test(groups = "samples", timeOut = 2 * TIMEOUT)
    public void groupByInMemory_MoreDetail() {
        int requestPageSize = 3;
        FeedOptions options = new FeedOptions();
        options.maxItemCount(requestPageSize);
        options.enableCrossParreplacedionQuery(true);
        Flux<Doreplacedent> doreplacedentsObservable = client.queryDoreplacedents(getCollectionLink(), new SqlQuerySpec("SELECT * FROM root r WHERE r.site_id=@site_id", new SqlParameterList(new SqlParameter("@site_id", "ABC"))), options).flatMap(page -> Flux.fromIterable(page.results()));
        final LocalDateTime now = LocalDateTime.now();
        Flux<GroupedFlux<Integer, Doreplacedent>> groupedByPayerIdObservable = doreplacedentsObservable.filter(doc -> Math.abs(now.getSecond() - doc.getInt("created_time")) <= 90).groupBy(doc -> doc.getInt("payer_id"));
        Flux<List<Doreplacedent>> docsGroupedAsList = groupedByPayerIdObservable.flatMap(grouped -> {
            Flux<List<Doreplacedent>> list = grouped.collectList().flux();
            return list;
        });
        List<List<Doreplacedent>> resultsGroupedAsLists = docsGroupedAsList.collectList().single().block();
        for (List<Doreplacedent> resultsForEachPayer : resultsGroupedAsLists) {
            System.out.println("doreplacedents with payer_id : " + resultsForEachPayer.get(0).getInt("payer_id") + " are " + resultsForEachPayer);
        }
    }

    private String getCollectionLink() {
        return "dbs/" + createdDatabase.id() + "/colls/" + createdCollection.id();
    }
}

19 View Complete Implementation : PjassTests.java
Copyright Apache License 2.0
Author : wurstscript
@Test
@Ignore
public void test() {
    Result result = Pjreplaced.runPjreplaced(new File("./testscripts/invalid/fail.j"));
    System.out.println(result.getMessage());
    WurstGuiImpl gui = new WurstGuiImpl();
    for (CompileError err : result.getErrors()) {
        System.out.println(err);
        System.out.println(err.getSource().getLeftPos());
        gui.sendError(err);
    }
}

19 View Complete Implementation : StoredProcedureQueryTest.java
Copyright MIT License
Author : Azure
// FIXME beforeCLreplaced times out inconsistently
@Ignore
public clreplaced StoredProcedureQueryTest extends TestSuiteBase {

    private CosmosContainer createdCollection;

    private List<CosmosStoredProcedureProperties> createdStoredProcs = new ArrayList<>();

    private CosmosClient client;

    @Factory(dataProvider = "clientBuildersWithDirect")
    public StoredProcedureQueryTest(CosmosClientBuilder clientBuilder) {
        super(clientBuilder);
    }

    @Test(groups = { "simple" }, timeOut = TIMEOUT)
    public void queryWithFilter() throws Exception {
        String filterId = createdStoredProcs.get(0).id();
        String query = String.format("SELECT * from c where c.id = '%s'", filterId);
        FeedOptions options = new FeedOptions();
        options.maxItemCount(5);
        Flux<FeedResponse<CosmosStoredProcedureProperties>> queryObservable = createdCollection.getScripts().queryStoredProcedures(query, options);
        List<CosmosStoredProcedureProperties> expectedDocs = createdStoredProcs.stream().filter(sp -> filterId.equals(sp.id())).collect(Collectors.toList());
        replacedertThat(expectedDocs).isNotEmpty();
        int expectedPageSize = (expectedDocs.size() + options.maxItemCount() - 1) / options.maxItemCount();
        FeedResponseListValidator<CosmosStoredProcedureProperties> validator = new FeedResponseListValidator.Builder<CosmosStoredProcedureProperties>().totalSize(expectedDocs.size()).exactlyContainsInAnyOrder(expectedDocs.stream().map(d -> d.resourceId()).collect(Collectors.toList())).numberOfPages(expectedPageSize).pageSatisfy(0, new FeedResponseValidator.Builder<CosmosStoredProcedureProperties>().requestChargeGreaterThanOrEqualTo(1.0).build()).build();
        validateQuerySuccess(queryObservable, validator, 10000);
    }

    @Test(groups = { "simple" }, timeOut = TIMEOUT)
    public void query_NoResults() throws Exception {
        String query = "SELECT * from root r where r.id = '2'";
        FeedOptions options = new FeedOptions();
        options.enableCrossParreplacedionQuery(true);
        Flux<FeedResponse<CosmosStoredProcedureProperties>> queryObservable = createdCollection.getScripts().queryStoredProcedures(query, options);
        FeedResponseListValidator<CosmosStoredProcedureProperties> validator = new FeedResponseListValidator.Builder<CosmosStoredProcedureProperties>().containsExactly(new ArrayList<>()).numberOfPages(1).pageSatisfy(0, new FeedResponseValidator.Builder<CosmosStoredProcedureProperties>().requestChargeGreaterThanOrEqualTo(1.0).build()).build();
        validateQuerySuccess(queryObservable, validator);
    }

    @Test(groups = { "simple" }, timeOut = TIMEOUT)
    public void queryAll() throws Exception {
        String query = "SELECT * from root";
        FeedOptions options = new FeedOptions();
        options.maxItemCount(3);
        options.enableCrossParreplacedionQuery(true);
        Flux<FeedResponse<CosmosStoredProcedureProperties>> queryObservable = createdCollection.getScripts().queryStoredProcedures(query, options);
        List<CosmosStoredProcedureProperties> expectedDocs = createdStoredProcs;
        int expectedPageSize = (expectedDocs.size() + options.maxItemCount() - 1) / options.maxItemCount();
        FeedResponseListValidator<CosmosStoredProcedureProperties> validator = new FeedResponseListValidator.Builder<CosmosStoredProcedureProperties>().exactlyContainsInAnyOrder(expectedDocs.stream().map(d -> d.resourceId()).collect(Collectors.toList())).numberOfPages(expectedPageSize).allPagesSatisfy(new FeedResponseValidator.Builder<CosmosStoredProcedureProperties>().requestChargeGreaterThanOrEqualTo(1.0).build()).build();
        validateQuerySuccess(queryObservable, validator);
    }

    @Test(groups = { "simple" }, timeOut = TIMEOUT)
    public void invalidQuerySytax() throws Exception {
        String query = "I am an invalid query";
        FeedOptions options = new FeedOptions();
        options.enableCrossParreplacedionQuery(true);
        Flux<FeedResponse<CosmosStoredProcedureProperties>> queryObservable = createdCollection.getScripts().queryStoredProcedures(query, options);
        FailureValidator validator = new FailureValidator.Builder().instanceOf(CosmosClientException.clreplaced).statusCode(400).notNullActivityId().build();
        validateQueryFailure(queryObservable, validator);
    }

    public CosmosStoredProcedureProperties createStoredProc(CosmosContainer cosmosContainer) {
        CosmosStoredProcedureProperties storedProcedure = getStoredProcedureDef();
        return cosmosContainer.getScripts().createStoredProcedure(storedProcedure).block().properties();
    }

    @BeforeClreplaced(groups = { "simple" }, timeOut = SETUP_TIMEOUT)
    public void beforeClreplaced() throws Exception {
        client = clientBuilder().build();
        createdCollection = getSharedMultiParreplacedionCosmosContainer(client);
        truncateCollection(createdCollection);
        for (int i = 0; i < 5; i++) {
            createdStoredProcs.add(createStoredProc(createdCollection));
        }
        waitIfNeededForReplicasToCatchUp(clientBuilder());
    }

    @AfterClreplaced(groups = { "simple" }, timeOut = SHUTDOWN_TIMEOUT, alwaysRun = true)
    public void afterClreplaced() {
        safeClose(client);
    }

    private static CosmosStoredProcedureProperties getStoredProcedureDef() {
        CosmosStoredProcedureProperties storedProcedureDef = new CosmosStoredProcedureProperties();
        storedProcedureDef.id(UUID.randomUUID().toString());
        storedProcedureDef.body("function() {var x = 10;}");
        return storedProcedureDef;
    }
}

19 View Complete Implementation : IgnoreClassParentSample.java
Copyright Apache License 2.0
Author : cbeust
@Ignore
public clreplaced IgnoreClreplacedParentSample {

    @Test
    public void parentTest() {
    }
}

19 View Complete Implementation : ReadFeedStoredProceduresTest.java
Copyright MIT License
Author : Azure
// FIXME beforeClreplaced times out inconsistently
@Ignore
public clreplaced ReadFeedStoredProceduresTest extends TestSuiteBase {

    private CosmosContainer createdCollection;

    private List<CosmosStoredProcedureProperties> createdStoredProcedures = new ArrayList<>();

    private CosmosClient client;

    @Factory(dataProvider = "clientBuildersWithDirect")
    public ReadFeedStoredProceduresTest(CosmosClientBuilder clientBuilder) {
        super(clientBuilder);
    }

    @Test(groups = { "simple" }, timeOut = FEED_TIMEOUT)
    public void readStoredProcedures() throws Exception {
        FeedOptions options = new FeedOptions();
        options.maxItemCount(2);
        Flux<FeedResponse<CosmosStoredProcedureProperties>> feedObservable = createdCollection.getScripts().readAllStoredProcedures(options);
        int expectedPageSize = (createdStoredProcedures.size() + options.maxItemCount() - 1) / options.maxItemCount();
        FeedResponseListValidator<CosmosStoredProcedureProperties> validator = new FeedResponseListValidator.Builder<CosmosStoredProcedureProperties>().totalSize(createdStoredProcedures.size()).exactlyContainsInAnyOrder(createdStoredProcedures.stream().map(d -> d.resourceId()).collect(Collectors.toList())).numberOfPages(expectedPageSize).allPagesSatisfy(new FeedResponseValidator.Builder<CosmosStoredProcedureProperties>().requestChargeGreaterThanOrEqualTo(1.0).build()).build();
        validateQuerySuccess(feedObservable, validator, FEED_TIMEOUT);
    }

    @BeforeClreplaced(groups = { "simple" }, timeOut = SETUP_TIMEOUT)
    public void beforeClreplaced() {
        client = clientBuilder().build();
        createdCollection = getSharedMultiParreplacedionCosmosContainer(client);
        truncateCollection(createdCollection);
        for (int i = 0; i < 5; i++) {
            createdStoredProcedures.add(createStoredProcedures(createdCollection));
        }
        waitIfNeededForReplicasToCatchUp(clientBuilder());
    }

    @AfterClreplaced(groups = { "simple" }, timeOut = SHUTDOWN_TIMEOUT, alwaysRun = true)
    public void afterClreplaced() {
        safeClose(client);
    }

    public CosmosStoredProcedureProperties createStoredProcedures(CosmosContainer cosmosContainer) {
        CosmosStoredProcedureProperties sproc = new CosmosStoredProcedureProperties();
        sproc.id(UUID.randomUUID().toString());
        sproc.body("function() {var x = 10;}");
        return cosmosContainer.getScripts().createStoredProcedure(sproc, new CosmosStoredProcedureRequestOptions()).block().properties();
    }
}

19 View Complete Implementation : IgnoreTestSample.java
Copyright Apache License 2.0
Author : cbeust
@Test
@Ignore
public void ignoredTest() {
}

19 View Complete Implementation : TriggerUpsertReplaceTest.java
Copyright MIT License
Author : Azure
// FIXME beforeClreplaced times out inconsistently
@Ignore
public clreplaced TriggerUpsertReplaceTest extends TestSuiteBase {

    private CosmosContainer createdCollection;

    private CosmosClient client;

    @Factory(dataProvider = "clientBuildersWithDirect")
    public TriggerUpsertReplaceTest(CosmosClientBuilder clientBuilder) {
        super(clientBuilder);
    }

    @Test(groups = { "simple" }, timeOut = TIMEOUT)
    public void replaceTrigger() throws Exception {
        // create a trigger
        CosmosTriggerProperties trigger = new CosmosTriggerProperties();
        trigger.id(UUID.randomUUID().toString());
        trigger.body("function() {var x = 10;}");
        trigger.triggerOperation(TriggerOperation.CREATE);
        trigger.triggerType(TriggerType.PRE);
        CosmosTriggerProperties readBackTrigger = createdCollection.getScripts().createTrigger(trigger).block().properties();
        // read trigger to validate creation
        waitIfNeededForReplicasToCatchUp(clientBuilder());
        Mono<CosmosTriggerResponse> readObservable = createdCollection.getScripts().getTrigger(readBackTrigger.id()).read();
        // validate trigger creation
        CosmosResponseValidator<CosmosTriggerResponse> validatorForRead = new CosmosResponseValidator.Builder<CosmosTriggerResponse>().withId(readBackTrigger.id()).withTriggerBody("function() {var x = 10;}").withTriggerInternals(TriggerType.PRE, TriggerOperation.CREATE).notNullEtag().build();
        validateSuccess(readObservable, validatorForRead);
        // update trigger
        readBackTrigger.body("function() {var x = 11;}");
        Mono<CosmosTriggerResponse> updateObservable = createdCollection.getScripts().getTrigger(readBackTrigger.id()).replace(readBackTrigger);
        // validate trigger replace
        CosmosResponseValidator<CosmosTriggerResponse> validatorForUpdate = new CosmosResponseValidator.Builder<CosmosTriggerResponse>().withId(readBackTrigger.id()).withTriggerBody("function() {var x = 11;}").withTriggerInternals(TriggerType.PRE, TriggerOperation.CREATE).notNullEtag().build();
        validateSuccess(updateObservable, validatorForUpdate);
    }

    @BeforeClreplaced(groups = { "simple" }, timeOut = SETUP_TIMEOUT)
    public void beforeClreplaced() {
        client = clientBuilder().build();
        createdCollection = getSharedMultiParreplacedionCosmosContainer(client);
        truncateCollection(createdCollection);
    }

    @AfterClreplaced(groups = { "simple" }, timeOut = SHUTDOWN_TIMEOUT, alwaysRun = true)
    public void afterClreplaced() {
        safeClose(client);
    }
}

19 View Complete Implementation : TestChannelsFromEvents.java
Copyright Apache License 2.0
Author : princesslana
@Ignore
private <T> void replacedertObserver(TestObserver<T> observer) {
    observer.replacedertNoErrors();
    observer.replacedertComplete();
    observer.replacedertNoValues();
}

19 View Complete Implementation : ReadFeedUdfsTest.java
Copyright MIT License
Author : Azure
// FIXME beforeClreplaced times out.
@Ignore
public clreplaced ReadFeedUdfsTest extends TestSuiteBase {

    private Database createdDatabase;

    private CosmosContainer createdCollection;

    private List<CosmosUserDefinedFunctionProperties> createdUserDefinedFunctions = new ArrayList<>();

    private CosmosClient client;

    @Factory(dataProvider = "clientBuildersWithDirect")
    public ReadFeedUdfsTest(CosmosClientBuilder clientBuilder) {
        super(clientBuilder);
    }

    @Test(groups = { "simple" }, timeOut = FEED_TIMEOUT)
    public void readUserDefinedFunctions() throws Exception {
        FeedOptions options = new FeedOptions();
        options.maxItemCount(2);
        Flux<FeedResponse<CosmosUserDefinedFunctionProperties>> feedObservable = createdCollection.getScripts().readAllUserDefinedFunctions(options);
        int expectedPageSize = (createdUserDefinedFunctions.size() + options.maxItemCount() - 1) / options.maxItemCount();
        FeedResponseListValidator<CosmosUserDefinedFunctionProperties> validator = new FeedResponseListValidator.Builder<CosmosUserDefinedFunctionProperties>().totalSize(createdUserDefinedFunctions.size()).exactlyContainsInAnyOrder(createdUserDefinedFunctions.stream().map(d -> d.resourceId()).collect(Collectors.toList())).numberOfPages(expectedPageSize).allPagesSatisfy(new FeedResponseValidator.Builder<CosmosUserDefinedFunctionProperties>().requestChargeGreaterThanOrEqualTo(1.0).build()).build();
        validateQuerySuccess(feedObservable, validator, FEED_TIMEOUT);
    }

    @BeforeClreplaced(groups = { "simple" }, timeOut = SETUP_TIMEOUT)
    public void beforeClreplaced() {
        client = clientBuilder().build();
        createdCollection = getSharedMultiParreplacedionCosmosContainer(client);
        truncateCollection(createdCollection);
        for (int i = 0; i < 5; i++) {
            createdUserDefinedFunctions.add(createUserDefinedFunctions(createdCollection));
        }
        waitIfNeededForReplicasToCatchUp(clientBuilder());
    }

    @AfterClreplaced(groups = { "simple" }, timeOut = SHUTDOWN_TIMEOUT, alwaysRun = true)
    public void afterClreplaced() {
        safeClose(client);
    }

    public CosmosUserDefinedFunctionProperties createUserDefinedFunctions(CosmosContainer cosmosContainer) {
        CosmosUserDefinedFunctionProperties udf = new CosmosUserDefinedFunctionProperties();
        udf.id(UUID.randomUUID().toString());
        udf.body("function() {var x = 10;}");
        return cosmosContainer.getScripts().createUserDefinedFunction(udf).block().properties();
    }

    private String getCollectionLink() {
        return "dbs/" + getDatabaseId() + "/colls/" + getCollectionId();
    }

    private String getCollectionId() {
        return createdCollection.id();
    }

    private String getDatabaseId() {
        return createdDatabase.id();
    }
}

19 View Complete Implementation : NumberIndexTests.java
Copyright Apache License 2.0
Author : TIBCOSoftware
/**
 * Copyright 2018 TIBCO Software Inc. All rights reserved.
 *
 * Licensed under the Apache License, Version 2.0 (the "License"); You may not use this file except
 * in compliance with the License.
 * A copy of the License is included in the distribution package with this file.
 * You also may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
/**
 * CRUD tests for number data type index
 */
@Ignore
public clreplaced NumberIndexTests extends LifecycleServer {

    Object[][] data;

    public NumberIndexTests() throws IOException, EvalError {
        this.data = this.getNumberData();
    }

    /**
     * *********************
     *
     *  Test Cases
     *
     * **********************
     */
    /**
     * testCreateNumberData - Insert nodes with number index
     * @throws Exception
     */
    @Test(description = "Insert nodes with number index")
    public void testCreateNumberData() throws Exception {
        TGConnection conn = TGConnectionFactory.getInstance().createConnection(tgUrl, tgUser, tgPwd, null);
        conn.connect();
        TGGraphObjectFactory gof = conn.getGraphObjectFactory();
        if (gof == null) {
            throw new org.testng.TestException("TG object factory is null");
        }
        TGGraphMetadata gmd = conn.getGraphMetadata(true);
        TGNodeType nodeNumberIdxType = gmd.getNodeType("nodeNumberIdx");
        if (nodeNumberIdxType == null)
            throw new Exception("Node type not found");
        List<TGNode> nodes = new ArrayList<TGNode>();
        for (int i = 0; i < data.length; i++) {
            TGNode node = gof.createNode(nodeNumberIdxType);
            node.setAttribute("numberAttr", data[i][0]);
            node.setAttribute("key", i);
            nodes.add(node);
            conn.insertEnreplacedy(node);
        }
        conn.commit();
        conn.disconnect();
    }

    /**
     * testReadNumberData - Retrieve nodes with number index
     * @throws Exception
     */
    @Test(description = "Retrieve nodes with number index", dependsOnMethods = { "testCreateNumberData" })
    public void testReadNumberData() throws Exception {
        TGConnection conn = TGConnectionFactory.getInstance().createConnection(tgUrl, tgUser, tgPwd, null);
        conn.connect();
        TGGraphObjectFactory gof = conn.getGraphObjectFactory();
        if (gof == null) {
            throw new org.testng.TestException("TG object factory is null");
        }
        conn.getGraphMetadata(true);
        TGKey tgKey = gof.createCompositeKey("nodeNumberIdx");
        for (int i = 0; i < data.length; i++) {
            tgKey.setAttribute("key", i);
            TGEnreplacedy enreplacedy = conn.getEnreplacedy(tgKey, null);
            if (enreplacedy == null) {
                throw new org.testng.TestException("TG enreplacedy #" + i + " was not retrieved");
            }
            // System.out.println("READ ATTR :" + data[i][0]);
            // replacedert on Node attribute
            if (data[i][0] != null)
                replacedert.replacedertEquals(((BigDecimal) enreplacedy.getAttribute("numberAttr").getValue()).compareTo((BigDecimal) data[i][0]), 0, "Actual and Expected BigDecimal are not the same");
            else
                replacedert.replacedertEquals(enreplacedy.getAttribute("numberAttr").getValue(), data[i][0]);
        }
        conn.disconnect();
    }

    /**
     * testUpdateNumberData - Update number index
     * @throws Exception
     */
    @Test(description = "Update number index", dependsOnMethods = { "testReadNumberData" }, enabled = false)
    public void testUpdateNumberData() throws Exception {
        TGConnection conn = TGConnectionFactory.getInstance().createConnection(tgUrl, tgUser, tgPwd, null);
        conn.connect();
        TGGraphObjectFactory gof = conn.getGraphObjectFactory();
        if (gof == null) {
            throw new org.testng.TestException("TG object factory is null");
        }
        conn.getGraphMetadata(true);
        TGKey tgKey = gof.createCompositeKey("nodeNumberIdx");
        for (int i = 0; i < data.length; i++) {
            tgKey.setAttribute("key", i);
            TGEnreplacedy enreplacedy = conn.getEnreplacedy(tgKey, null);
            if (enreplacedy == null) {
                throw new org.testng.TestException("TG enreplacedy #" + i + " was not retrieved");
            }
            enreplacedy.setAttribute("numberAttr", data[i][1]);
            conn.updateEnreplacedy(enreplacedy);
            conn.commit();
        }
        conn.disconnect();
    }

    /**
     * testReadUpdatedNumberData - Retrieve nodes with updated number index
     * @throws Exception
     */
    @Test(description = "Retrieve nodes with updated number index", dependsOnMethods = { "testUpdateNumberData" }, enabled = false)
    public void testReadUpdatedNumberData() throws Exception {
        TGConnection conn = TGConnectionFactory.getInstance().createConnection(tgUrl, tgUser, tgPwd, null);
        conn.connect();
        TGGraphObjectFactory gof = conn.getGraphObjectFactory();
        if (gof == null) {
            throw new org.testng.TestException("TG object factory is null");
        }
        conn.getGraphMetadata(true);
        TGKey tgKey = gof.createCompositeKey("nodeNumberIdx");
        for (int i = 0; i < data.length; i++) {
            tgKey.setAttribute("key", i);
            TGEnreplacedy enreplacedy = conn.getEnreplacedy(tgKey, null);
            // replacedert on Node attribute
            if (data[i][1] != null)
                replacedert.replacedertEquals(((BigDecimal) enreplacedy.getAttribute("numberAttr").getValue()).compareTo((BigDecimal) data[i][1]), 0, "Actual and Expected BigDecimal are not the same");
            else
                replacedert.replacedertEquals(enreplacedy.getAttribute("numberAttr").getValue(), data[i][1]);
        }
        conn.disconnect();
    }

    /**
     * testDeleteNumberData - Delete number index
     * @throws Exception
     */
    @Test(description = "Delete number index", dependsOnMethods = { "testReadUpdatedNumberData" }, enabled = false)
    public void testDeleteNumberData() throws Exception {
        TGConnection conn = TGConnectionFactory.getInstance().createConnection(tgUrl, tgUser, tgPwd, null);
        conn.connect();
        TGGraphObjectFactory gof = conn.getGraphObjectFactory();
        if (gof == null) {
            throw new org.testng.TestException("TG object factory is null");
        }
        conn.getGraphMetadata(true);
        TGKey tgKey = gof.createCompositeKey("nodeNumberIdx");
        for (int i = 0; i < data.length; i++) {
            tgKey.setAttribute("key", 0);
            TGEnreplacedy enreplacedy = conn.getEnreplacedy(tgKey, null);
            if (enreplacedy == null) {
                throw new org.testng.TestException("TG enreplacedy #" + i + " was not retrieved");
            }
            // delete the boolean value
            enreplacedy.setAttribute("numberAttr", null);
            conn.updateEnreplacedy(enreplacedy);
            conn.commit();
        }
        conn.disconnect();
    }

    /**
     * testReadDeletedNumberData - Retrieve nodes with deleted number index
     * @throws Exception
     */
    @Test(description = "Retrieve nodes with deleted number index", dependsOnMethods = { "testDeleteNumberData" }, enabled = false)
    public void testReadDeletedNumberData() throws Exception {
        TGConnection conn = TGConnectionFactory.getInstance().createConnection(tgUrl, tgUser, tgPwd, null);
        conn.connect();
        TGGraphObjectFactory gof = conn.getGraphObjectFactory();
        if (gof == null) {
            throw new org.testng.TestException("TG object factory is null");
        }
        conn.getGraphMetadata(true);
        TGKey tgKey = gof.createCompositeKey("nodeNumberIdx");
        for (int i = 0; i < data.length; i++) {
            tgKey.setAttribute("key", 0);
            TGEnreplacedy enreplacedy = conn.getEnreplacedy(tgKey, null);
            // replacedert on Node attribute
            replacedert.replacedertTrue(enreplacedy.getAttribute("numberAttr").isNull(), "Expected attribute #" + i + " null but found it non null -");
        }
        conn.disconnect();
    }

    /**
     * *********************
     *
     *  Data Providers
     *
     * **********************
     */
    /**
     * Provide a set of number data
     * @return Object[][] of data
     * @throws IOException
     * @throws EvalError
     */
    @DataProvider(name = "NumberData")
    public Object[][] getNumberData() throws IOException, EvalError {
        Object[][] data = PipedData.read(this.getClreplaced().getResourcereplacedtream("/" + this.getClreplaced().getPackage().getName().replace('.', '/') + "/number.data"));
        return data;
    }
}

19 View Complete Implementation : UserDefinedFunctionUpsertReplaceTest.java
Copyright MIT License
Author : Azure
// FIXME beforeClreplaced times out inconsistently.
@Ignore
public clreplaced UserDefinedFunctionUpsertReplaceTest extends TestSuiteBase {

    private CosmosContainer createdCollection;

    private CosmosClient client;

    @Factory(dataProvider = "clientBuildersWithDirect")
    public UserDefinedFunctionUpsertReplaceTest(CosmosClientBuilder clientBuilder) {
        super(clientBuilder);
    }

    @Test(groups = { "simple" }, timeOut = TIMEOUT)
    public void replaceUserDefinedFunction() throws Exception {
        // create a udf
        CosmosUserDefinedFunctionProperties udf = new CosmosUserDefinedFunctionProperties();
        udf.id(UUID.randomUUID().toString());
        udf.body("function() {var x = 10;}");
        CosmosUserDefinedFunctionProperties readBackUdf = null;
        readBackUdf = createdCollection.getScripts().createUserDefinedFunction(udf).block().properties();
        // read udf to validate creation
        waitIfNeededForReplicasToCatchUp(clientBuilder());
        Mono<CosmosUserDefinedFunctionResponse> readObservable = createdCollection.getScripts().getUserDefinedFunction(readBackUdf.id()).read();
        // validate udf creation
        CosmosResponseValidator<CosmosUserDefinedFunctionResponse> validatorForRead = new CosmosResponseValidator.Builder<CosmosUserDefinedFunctionResponse>().withId(readBackUdf.id()).withUserDefinedFunctionBody("function() {var x = 10;}").notNullEtag().build();
        validateSuccess(readObservable, validatorForRead);
        // update udf
        readBackUdf.body("function() {var x = 11;}");
        Mono<CosmosUserDefinedFunctionResponse> replaceObservable = createdCollection.getScripts().getUserDefinedFunction(readBackUdf.id()).replace(readBackUdf);
        // validate udf replace
        CosmosResponseValidator<CosmosUserDefinedFunctionResponse> validatorForReplace = new CosmosResponseValidator.Builder<CosmosUserDefinedFunctionResponse>().withId(readBackUdf.id()).withUserDefinedFunctionBody("function() {var x = 11;}").notNullEtag().build();
        validateSuccess(replaceObservable, validatorForReplace);
    }

    @BeforeClreplaced(groups = { "simple" }, timeOut = SETUP_TIMEOUT)
    public void beforeClreplaced() {
        client = clientBuilder().build();
        createdCollection = getSharedMultiParreplacedionCosmosContainer(client);
        truncateCollection(createdCollection);
    }

    @AfterClreplaced(groups = { "simple" }, timeOut = SHUTDOWN_TIMEOUT, alwaysRun = true)
    public void afterClreplaced() {
        safeClose(client);
    }
}

19 View Complete Implementation : TimestampIndexTests.java
Copyright Apache License 2.0
Author : TIBCOSoftware
/**
 * Copyright 2018 TIBCO Software Inc. All rights reserved.
 *
 * Licensed under the Apache License, Version 2.0 (the "License"); You may not use this file except
 * in compliance with the License.
 * A copy of the License is included in the distribution package with this file.
 * You also may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
/**
 * CRUD tests for timestamp data type index
 */
@Ignore
public clreplaced TimestampIndexTests extends LifecycleServer {

    Object[][] data;

    public TimestampIndexTests() throws IOException, EvalError {
        this.data = this.getTimestampData();
    }

    /**
     * *********************
     *
     *  Test Cases
     *
     * **********************
     */
    /**
     * testCreateTimestampData - Insert nodes with timestamp index
     * @throws Exception
     */
    @Test(description = "Insert nodes with timestamp index")
    public void testCreateTimestampData() throws Exception {
        TGConnection conn = TGConnectionFactory.getInstance().createConnection(tgUrl, tgUser, tgPwd, null);
        conn.connect();
        TGGraphObjectFactory gof = conn.getGraphObjectFactory();
        if (gof == null) {
            throw new org.testng.TestException("TG object factory is null");
        }
        TGGraphMetadata gmd = conn.getGraphMetadata(true);
        TGNodeType nodeTimestampIdxType = gmd.getNodeType("nodeTimestampIdx");
        if (nodeTimestampIdxType == null)
            throw new Exception("Node type not found");
        // Object[][] data = this.getTimestampData();
        List<TGNode> nodes = new ArrayList<TGNode>();
        for (int i = 0; i < data.length; i++) {
            // System.out.println("CREATE ATTR:" + data[i][0]);
            TGNode node = gof.createNode(nodeTimestampIdxType);
            node.setAttribute("timestampAttr", data[i][0]);
            node.setAttribute("key", i);
            nodes.add(node);
            conn.insertEnreplacedy(node);
        }
        conn.commit();
        conn.disconnect();
    }

    /**
     * testReadTimestampData - Retrieve nodes and edge with timestamp index
     * @throws Exception
     */
    @Test(description = "Retrieve nodes and edge with timestamp index", dependsOnMethods = { "testCreateTimestampData" })
    public void testReadTimestampData() throws Exception {
        TGConnection conn = TGConnectionFactory.getInstance().createConnection(tgUrl, tgUser, tgPwd, null);
        conn.connect();
        TGGraphObjectFactory gof = conn.getGraphObjectFactory();
        if (gof == null) {
            throw new org.testng.TestException("TG object factory is null");
        }
        conn.getGraphMetadata(true);
        TGKey tgKey = gof.createCompositeKey("nodeTimestampIdx");
        // Object[][] data = this.getTimestampData();
        for (int i = 0; i < data.length; i++) {
            tgKey.setAttribute("key", i);
            TGEnreplacedy enreplacedy = conn.getEnreplacedy(tgKey, null);
            if (enreplacedy == null) {
                throw new org.testng.TestException("TG enreplacedy #" + i + " was not retrieved");
            }
            // System.out.println("READ ATTR:" + enreplacedy.getAttribute("timestampAttr").getValue());
            // replacedert on Node attribute
            replacedert.replacedertEquals(enreplacedy.getAttribute("timestampAttr").getValue(), data[i][0]);
        }
        conn.disconnect();
    }

    /**
     * testUpdateTimestampData - Update timestamp index
     * @throws Exception
     */
    @Test(description = "Update timestamp index", dependsOnMethods = { "testReadTimestampData" }, enabled = false)
    public void testUpdateTimestampData() throws Exception {
        TGConnection conn = TGConnectionFactory.getInstance().createConnection(tgUrl, tgUser, tgPwd, null);
        conn.connect();
        TGGraphObjectFactory gof = conn.getGraphObjectFactory();
        if (gof == null) {
            throw new org.testng.TestException("TG object factory is null");
        }
        conn.getGraphMetadata(true);
        TGKey tgKey = gof.createCompositeKey("nodeTimestampIdx");
        // Object[][] data = this.getTimestampData();
        for (int i = 0; i < data.length; i++) {
            tgKey.setAttribute("key", i);
            TGEnreplacedy enreplacedy = conn.getEnreplacedy(tgKey, null);
            if (enreplacedy == null) {
                throw new org.testng.TestException("TG enreplacedy #" + i + " was not retrieved");
            }
            // System.out.println("UPDATE ATTR:" + data[i][1] + " - Length:" + ((Timestamp) data[i][1]).length());
            enreplacedy.setAttribute("timestampAttr", data[i][1]);
            conn.updateEnreplacedy(enreplacedy);
            conn.commit();
        }
        conn.disconnect();
    }

    /**
     * testReadUpdatedTimestampData - Retrieve nodes with updated timestamp index
     * @throws Exception
     */
    @Test(description = "Retrieve nodes with updated timestamp index", dependsOnMethods = { "testUpdateTimestampData" }, enabled = false)
    public void testReadUpdatedTimestampData() throws Exception {
        TGConnection conn = TGConnectionFactory.getInstance().createConnection(tgUrl, tgUser, tgPwd, null);
        conn.connect();
        TGGraphObjectFactory gof = conn.getGraphObjectFactory();
        if (gof == null) {
            throw new org.testng.TestException("TG object factory is null");
        }
        conn.getGraphMetadata(true);
        TGKey tgKey = gof.createCompositeKey("nodeTimestampIdx");
        // Object[][] data = this.getTimestampData();
        for (int i = 0; i < data.length; i++) {
            tgKey.setAttribute("key", i);
            TGEnreplacedy enreplacedy = conn.getEnreplacedy(tgKey, null);
            // System.out.println("READ UPDATED ATTR:" + enreplacedy.getAttribute("timestampAttr").getValue());
            // replacedert on Node attribute
            // replacedert.replacedertFalse(enreplacedy.getAttribute("timestampAttr").isNull(), "Expected attribute #"+i+" non null but found it null -");
            replacedert.replacedertEquals(enreplacedy.getAttribute("timestampAttr").getValue(), data[i][1]);
        }
        conn.disconnect();
    }

    /**
     * testDeleteTimestampData - Delete timestamp index
     * @throws Exception
     */
    @Test(description = "Delete timestamp index", dependsOnMethods = { "testReadUpdatedTimestampData" }, enabled = false)
    public void testDeleteTimestampData() throws Exception {
        TGConnection conn = TGConnectionFactory.getInstance().createConnection(tgUrl, tgUser, tgPwd, null);
        conn.connect();
        TGGraphObjectFactory gof = conn.getGraphObjectFactory();
        if (gof == null) {
            throw new org.testng.TestException("TG object factory is null");
        }
        conn.getGraphMetadata(true);
        TGKey tgKey = gof.createCompositeKey("nodeTimestampIdx");
        // Object[][] data = this.getTimestampData();
        for (int i = 0; i < data.length; i++) {
            tgKey.setAttribute("key", i);
            TGEnreplacedy enreplacedy = conn.getEnreplacedy(tgKey, null);
            if (enreplacedy == null) {
                throw new org.testng.TestException("TG enreplacedy #" + i + " was not retrieved");
            }
            // delete the timestamp value by setting it up to null
            enreplacedy.setAttribute("timestampAttr", null);
            conn.updateEnreplacedy(enreplacedy);
            conn.commit();
        }
        conn.disconnect();
    }

    /**
     * testReadDeletedTimestampData - Retrieve nodes with deleted timestamp index
     * @throws Exception
     */
    @Test(description = "Retrieve nodes with deleted timestamp index", dependsOnMethods = { "testDeleteTimestampData" }, enabled = false)
    public void testReadDeletedTimestampData() throws Exception {
        TGConnection conn = TGConnectionFactory.getInstance().createConnection(tgUrl, tgUser, tgPwd, null);
        conn.connect();
        TGGraphObjectFactory gof = conn.getGraphObjectFactory();
        if (gof == null) {
            throw new org.testng.TestException("TG object factory is null");
        }
        conn.getGraphMetadata(true);
        TGKey tgKey = gof.createCompositeKey("nodeTimestampIdx");
        // Object[][] data = this.getTimestampData();
        for (int i = 0; i < data.length; i++) {
            tgKey.setAttribute("key", i);
            TGEnreplacedy enreplacedy = conn.getEnreplacedy(tgKey, null);
            // replacedert on Node attribute
            replacedert.replacedertTrue(enreplacedy.getAttribute("timestampAttr").isNull(), "Expected attribute #" + i + " null but found it non null -");
        }
        conn.disconnect();
    }

    /**
     * *********************
     *
     *  Data Providers
     *
     * **********************
     */
    /**
     * Provide a set of timestamp data
     * @return Object[][] of data
     * @throws IOException
     * @throws EvalError
     */
    @DataProvider(name = "TimestampData")
    public Object[][] getTimestampData() throws IOException, EvalError {
        Object[][] data = PipedData.read(this.getClreplaced().getResourcereplacedtream("/" + this.getClreplaced().getPackage().getName().replace('.', '/') + "/timestamp.data"));
        return data;
    }
}

19 View Complete Implementation : SessionTest.java
Copyright MIT License
Author : Azure
// FIXME: Test flakes inconsistently with replacedertion error
@Ignore
@Test(groups = { "simple" }, timeOut = TIMEOUT, dataProvider = "sessionTestArgProvider")
public void sessionConsistency_ReadYourWrites(boolean isNameBased) {
    spyClient.readCollection(getCollectionLink(isNameBased), null).blockFirst();
    spyClient.createDoreplacedent(getCollectionLink(isNameBased), new Doreplacedent(), null, false).blockFirst();
    spyClient.clearCapturedRequests();
    for (int i = 0; i < 10; i++) {
        Doreplacedent doreplacedentCreated = spyClient.createDoreplacedent(getCollectionLink(isNameBased), new Doreplacedent(), null, false).blockFirst().getResource();
        spyClient.clearCapturedRequests();
        spyClient.readDoreplacedent(getDoreplacedentLink(doreplacedentCreated, isNameBased), options).blockFirst();
        replacedertThat(getSessionTokensInRequests()).hreplacedize(1);
        replacedertThat(getSessionTokensInRequests().get(0)).isNotEmpty();
        spyClient.readDoreplacedent(getDoreplacedentLink(doreplacedentCreated, isNameBased), options).blockFirst();
        replacedertThat(getSessionTokensInRequests()).hreplacedize(2);
        replacedertThat(getSessionTokensInRequests().get(1)).isNotEmpty();
    }
}

19 View Complete Implementation : GenericsWithTypeclassesTests.java
Copyright Apache License 2.0
Author : wurstscript
@Test
@Ignore
public void genericForFrom() {
    testreplacedertOkLines(true, "package test", "native testSuccess()", "clreplaced C<T:>", "	function iterator() returns Iterator<T>", "		return new Iterator<T>()", "clreplaced Iterator<T:>", "	private int i = 0", "	function next() returns T", "		i = i + 1", "		return i castTo T", "	function hasNext() returns boolean", "		return i < 10", "init", "	let c = new C<int>", "	let iter = c.iterator()", "	for i from iter", "		if i == 5", "			testSuccess()");
}

19 View Complete Implementation : ConflictAPITest.java
Copyright MIT License
Author : Azure
/**
 * This integration test clreplaced demonstrates how to use Async API for
 * Conflicts.
 * <p>
 * Also if you need to work with Future or CompletableFuture it is possible to
 * transform a flux to CompletableFuture. Please see
 * {@link #transformObservableToCompletableFuture()}
 */
// FIXME: setup method times out inconsistently
@Ignore
public clreplaced ConflictAPITest extends DoreplacedentClientTest {

    private final static int TIMEOUT = 60000;

    private AsyncDoreplacedentClient client;

    private DoreplacedentCollection createdCollection;

    private Database createdDatabase;

    @BeforeClreplaced(groups = "samples", timeOut = TIMEOUT)
    public void setUp() {
        ConnectionPolicy connectionPolicy = new ConnectionPolicy().connectionMode(ConnectionMode.DIRECT);
        this.clientBuilder().withServiceEndpoint(TestConfigurations.HOST).withMasterKeyOrResourceToken(TestConfigurations.MASTER_KEY).withConnectionPolicy(connectionPolicy).withConsistencyLevel(ConsistencyLevel.SESSION);
        this.client = this.clientBuilder().build();
        DoreplacedentCollection collectionDefinition = new DoreplacedentCollection();
        collectionDefinition.id(UUID.randomUUID().toString());
        ParreplacedionKeyDefinition parreplacedionKeyDef = new ParreplacedionKeyDefinition();
        ArrayList<String> paths = new ArrayList<String>();
        paths.add("/mypk");
        parreplacedionKeyDef.paths(paths);
        collectionDefinition.setParreplacedionKey(parreplacedionKeyDef);
        // CREATE database
        createdDatabase = Utils.createDatabaseForTest(client);
        // CREATE collection
        createdCollection = client.createCollection("/dbs/" + createdDatabase.id(), collectionDefinition, null).single().block().getResource();
        int numberOfDoreplacedents = 20;
        // Add doreplacedents
        List<Mono<Void>> tasks = new ArrayList<>();
        for (int i = 0; i < numberOfDoreplacedents; i++) {
            Doreplacedent doc = new Doreplacedent(String.format("{ 'id': 'loc%d', 'counter': %d}", i, i));
            tasks.add(client.createDoreplacedent(getCollectionLink(), doc, null, true).then());
        }
        Flux.merge(tasks).then().block();
    }

    @AfterClreplaced(groups = "samples", timeOut = TIMEOUT)
    public void shutdown() {
        Utils.safeClean(client, createdDatabase);
        Utils.safeClose(client);
    }

    /**
     * READ conflicts
     * Converts the conflict read feed observable to blocking observable and
     * uses that to find all conflicts
     */
    @Test(groups = "samples", timeOut = TIMEOUT)
    public void readConflicts_toBlocking_toIterator() {
        // read all conflicts
        int requestPageSize = 3;
        FeedOptions options = new FeedOptions();
        options.maxItemCount(requestPageSize);
        Flux<FeedResponse<Conflict>> conflictReadFeedObservable = client.readConflicts(getCollectionLink(), options);
        // Covert the flux to an iterable, and then to iterator
        Iterator<FeedResponse<Conflict>> it = conflictReadFeedObservable.toIterable().iterator();
        int expectedNumberOfConflicts = 0;
        int numberOfResults = 0;
        while (it.hasNext()) {
            FeedResponse<Conflict> page = it.next();
            System.out.println("items: " + page.results());
            String pageSizereplacedtring = page.responseHeaders().get(HttpConstants.HttpHeaders.ITEM_COUNT);
            replacedertThat("header item count must be present", pageSizereplacedtring, notNullValue());
            int pageSize = Integer.valueOf(pageSizereplacedtring);
            replacedertThat("Result size must match header item count", page.results(), hreplacedize(pageSize));
            numberOfResults += pageSize;
        }
        replacedertThat("number of total results", numberOfResults, equalTo(expectedNumberOfConflicts));
    }

    /**
     * You can convert a Flux to a CompletableFuture.
     */
    @Test(groups = "samples", timeOut = TIMEOUT)
    public void transformObservableToCompletableFuture() throws Exception {
        int requestPageSize = 3;
        FeedOptions options = new FeedOptions();
        options.maxItemCount(requestPageSize);
        Flux<FeedResponse<Conflict>> conflictReadFeedObservable = client.readConflicts(getCollectionLink(), options);
        // Convert to observable of list of pages
        Mono<List<FeedResponse<Conflict>>> allPagesObservable = conflictReadFeedObservable.collectList();
        // Convert the observable of list of pages to a Future
        CompletableFuture<List<FeedResponse<Conflict>>> future = allPagesObservable.toFuture();
        List<FeedResponse<Conflict>> pageList = future.get();
        int totalNumberOfRetrievedConflicts = 0;
        for (FeedResponse<Conflict> page : pageList) {
            totalNumberOfRetrievedConflicts += page.results().size();
        }
        replacedertThat(0, equalTo(totalNumberOfRetrievedConflicts));
    }

    private String getCollectionLink() {
        return "dbs/" + createdDatabase.id() + "/colls/" + createdCollection.id();
    }
}

19 View Complete Implementation : ResourceTokenTest.java
Copyright MIT License
Author : Azure
/**
 * This clreplaced try to test different scenario related to fetching various
 * resources from resource token directly or via permission feed .
 */
// TODO: change to use external TestSuiteBase
@Ignore
public clreplaced ResourceTokenTest extends TestSuiteBase {

    public final String databaseId = DatabaseForTest.generateId();

    private Database createdDatabase;

    private DoreplacedentCollection createdCollection;

    private DoreplacedentCollection createdCollectionWithParreplacedionKey;

    private Doreplacedent createdDoreplacedent;

    private Doreplacedent createdDoreplacedentWithParreplacedionKey;

    private Doreplacedent createdDoreplacedentWithParreplacedionKey2;

    private User createdUser;

    private Permission createdCollPermission;

    private Permission createdCollPermissionWithName;

    private Permission createdDocPermission;

    private Permission createdDocPermissionWithName;

    private Permission createdDocPermissionWithParreplacedionKey;

    private Permission createdDocPermissionWithParreplacedionKeyWithName;

    private Permission createdDocPermissionWithParreplacedionKey2;

    private Permission createdDocPermissionWithParreplacedionKey2WithName;

    private Permission createdColPermissionWithParreplacedionKey;

    private Permission createdColPermissionWithParreplacedionKeyWithName;

    private Permission createdColPermissionWithParreplacedionKey2;

    private Permission createdColPermissionWithParreplacedionKey2WithName;

    private AsyncDoreplacedentClient client;

    // ALL static string used in below test cases
    private final static String DOreplacedENT_DEFINITION = "{ 'id': 'doc%d', 'counter': '%d'}";

    private final static String DOreplacedENT_DEFINITION_WITH_PERMISSION_KEY = "{ " + "\"id\": \"%s\", " + "\"mypk\": \"%s\", " + "\"sgmts\": [[6519456, 1471916863], [2498434, 1455671440]]" + "}";

    private final static String PARreplacedION_KEY_PATH_1 = "/mypk";

    private final static String PARreplacedION_KEY_PATH_2 = "/mypk2";

    private static final String PARreplacedION_KEY_VALUE = "1";

    private static final String PARreplacedION_KEY_VALUE_2 = "2";

    private static final String PERMISSION_DEFINITION = "{" + "    'id': 'PermissionForDocWithParreplacedionKey'," + "    'permissionMode': 'read'," + "    'resource': '%s'," + "    'resourceParreplacedionKey': ['%s']" + "}";

    private static final String COLLECTION_PERMISSION_DEFINITION = "{" + "    'id': 'PermissionForColWithParreplacedionKey'," + "    'permissionMode': 'read'," + "    'resource': '%s'," + "    'resourceParreplacedionKey': ['%s']" + "}";

    private static final String USER_NAME = "TestUser";

    private static final String PERMISSION_FOR_COLL = "PermissionForColl";

    private static final String PERMISSION_FOR_COLL_WITH_NAME = "PermissionForCollWithName";

    private static final String PERMISSION_FOR_DOC = "PermissionForDoc";

    private static final String PERMISSION_FOR_DOC_WITH_NAME = "PermissionForDocWithName";

    @Factory(dataProvider = "clientBuilders")
    public ResourceTokenTest(AsyncDoreplacedentClient.Builder clientBuilder) {
        super(clientBuilder);
    }

    @BeforeClreplaced(groups = { "simple" }, timeOut = SETUP_TIMEOUT)
    public void beforeClreplaced() throws Exception {
        client = clientBuilder().build();
        Database d = new Database();
        d.id(databaseId);
        createdDatabase = createDatabase(client, d);
        // CREATE collection
        createdCollection = createCollection(client, createdDatabase.id(), getCollectionDefinitionWithParreplacedionKey(PARreplacedION_KEY_PATH_2));
        // CREATE doreplacedent
        createdDoreplacedent = createDoreplacedent(client, createdDatabase.id(), createdCollection.id(), getDoreplacedent());
        // CREATE collection with parreplacedion key
        createdCollectionWithParreplacedionKey = createCollection(client, createdDatabase.id(), getCollectionDefinitionWithParreplacedionKey(PARreplacedION_KEY_PATH_1));
        // CREATE doreplacedent with parreplacedion key
        createdDoreplacedentWithParreplacedionKey = createDoreplacedent(client, createdDatabase.id(), createdCollectionWithParreplacedionKey.id(), getDoreplacedentDefinitionWithParreplacedionKey());
        // CREATE second doreplacedent with parreplacedion key
        createdDoreplacedentWithParreplacedionKey2 = createDoreplacedent(client, createdDatabase.id(), createdCollectionWithParreplacedionKey.id(), getDoreplacedentDefinitionWithParreplacedionKey2());
        // CREATE user
        createdUser = createUser(client, createdDatabase.id(), getUserDefinition());
        // CREATE permission for collection
        createdCollPermission = client.createPermission(getUserLink(), getCollPermission(), null).single().block().getResource();
        createdCollPermissionWithName = client.createPermission(getUserLink(), getCollPermissionWithName(), null).single().block().getResource();
        // CREATE permission for doreplacedent
        createdDocPermission = client.createPermission(getUserLink(), getDocPermission(), null).single().block().getResource();
        createdDocPermissionWithName = client.createPermission(getUserLink(), getDocPermissionWithName(), null).single().block().getResource();
        // CREATE permission for doreplacedent with parreplacedion key
        createdDocPermissionWithParreplacedionKey = client.createPermission(getUserLink(), getDocPermissionWithParreplacedionKey(), null).single().block().getResource();
        createdDocPermissionWithParreplacedionKeyWithName = client.createPermission(getUserLink(), getDocPermissionWithParreplacedionKeyWithName(), null).single().block().getResource();
        // CREATE permission for doreplacedent with parreplacedion key 2
        createdDocPermissionWithParreplacedionKey2 = client.createPermission(getUserLink(), getDocPermissionWithParreplacedionKey2(), null).single().block().getResource();
        createdDocPermissionWithParreplacedionKey2WithName = client.createPermission(getUserLink(), getDocPermissionWithParreplacedionKey2WithName(), null).single().block().getResource();
        // CREATE permission for collection with parreplacedion key
        createdColPermissionWithParreplacedionKey = client.createPermission(getUserLink(), getColPermissionWithParreplacedionKey(), null).single().block().getResource();
        createdColPermissionWithParreplacedionKeyWithName = client.createPermission(getUserLink(), getColPermissionWithParreplacedionKeyWithName(), null).single().block().getResource();
        // CREATE permission for collection with parreplacedion key
        createdColPermissionWithParreplacedionKey2 = client.createPermission(getUserLink(), getColPermissionWithParreplacedionKey2(), null).single().block().getResource();
        createdColPermissionWithParreplacedionKey2WithName = client.createPermission(getUserLink(), getColPermissionWithParreplacedionKey2WithName(), null).single().block().getResource();
    }

    @DataProvider(name = "collectionAndPermissionData")
    public Object[][] collectionAndPermissionData() {
        return new Object[][] { // This test will try to read collection from its own permission and validate it, both with request Id and name.
        { createdCollection.selfLink(), createdCollPermission }, { TestUtils.getCollectionNameLink(createdDatabase.id(), createdCollection.id()), createdDocPermissionWithName } };
    }

    @DataProvider(name = "doreplacedentAndPermissionData")
    public Object[][] doreplacedentAndPermissionData() {
        return new Object[][] { // These tests will try to read doreplacedent from its own permission and validate it, both with request Id and name.
        { createdDoreplacedent.selfLink(), createdDocPermission, createdDoreplacedent.id(), null }, { TestUtils.getDoreplacedentNameLink(createdDatabase.id(), createdCollection.id(), createdDoreplacedent.id()), createdDocPermissionWithName, createdDoreplacedent.id(), null }, // These tests will try to read doreplacedent from its permission having parreplacedion key 1 and validate it, both with request Id and name.
        { createdDoreplacedentWithParreplacedionKey.selfLink(), createdDocPermissionWithParreplacedionKey, createdDoreplacedentWithParreplacedionKey.id(), PARreplacedION_KEY_VALUE }, { TestUtils.getDoreplacedentNameLink(createdDatabase.id(), createdCollectionWithParreplacedionKey.id(), createdDoreplacedentWithParreplacedionKey.id()), createdDocPermissionWithParreplacedionKeyWithName, createdDoreplacedentWithParreplacedionKey.id(), PARreplacedION_KEY_VALUE }, // These tests will try to read doreplacedent from its permission having parreplacedion key 2 and validate it, both with request Id and name.
        { createdDoreplacedentWithParreplacedionKey2.selfLink(), createdDocPermissionWithParreplacedionKey2, createdDoreplacedentWithParreplacedionKey2.id(), PARreplacedION_KEY_VALUE_2 }, { TestUtils.getDoreplacedentNameLink(createdDatabase.id(), createdCollectionWithParreplacedionKey.id(), createdDoreplacedentWithParreplacedionKey2.id()), createdDocPermissionWithParreplacedionKey2WithName, createdDoreplacedentWithParreplacedionKey2.id(), PARreplacedION_KEY_VALUE_2 }, // These tests will try to read doreplacedent from its parent collection permission and validate it, both with request Id and name.
        { createdDoreplacedent.selfLink(), createdCollPermission, createdDoreplacedent.id(), null }, { TestUtils.getDoreplacedentNameLink(createdDatabase.id(), createdCollection.id(), createdDoreplacedent.id()), createdCollPermissionWithName, createdDoreplacedent.id(), null }, // This test will try to read doreplacedent from collection permission having parreplacedion key 1 and validate it, both with request Id and name.
        { createdDoreplacedentWithParreplacedionKey.selfLink(), createdColPermissionWithParreplacedionKey, createdDoreplacedentWithParreplacedionKey.id(), PARreplacedION_KEY_VALUE }, { TestUtils.getDoreplacedentNameLink(createdDatabase.id(), createdCollectionWithParreplacedionKey.id(), createdDoreplacedentWithParreplacedionKey.id()), createdColPermissionWithParreplacedionKeyWithName, createdDoreplacedentWithParreplacedionKey.id(), PARreplacedION_KEY_VALUE }, // This test will try to read doreplacedent from collection permission having parreplacedion key 2 and validate it, both with request Id and name.
        { createdDoreplacedentWithParreplacedionKey2.selfLink(), createdColPermissionWithParreplacedionKey2, createdDoreplacedentWithParreplacedionKey2.id(), PARreplacedION_KEY_VALUE_2 }, { TestUtils.getDoreplacedentNameLink(createdDatabase.id(), createdCollectionWithParreplacedionKey.id(), createdDoreplacedentWithParreplacedionKey2.id()), createdColPermissionWithParreplacedionKey2WithName, createdDoreplacedentWithParreplacedionKey2.id(), PARreplacedION_KEY_VALUE_2 } };
    }

    @DataProvider(name = "doreplacedentAndPermissionDataForResourceNotFound")
    public Object[][] doreplacedentAndPermissionDataForResourceNotFound() {
        return new Object[][] { // This test will try to read doreplacedent from its resource token directly and validate it.
        { createdDoreplacedentWithParreplacedionKey2.selfLink(), createdColPermissionWithParreplacedionKey, PARreplacedION_KEY_VALUE }, // This test will try to read doreplacedent from its parent collection resource token directly and validate it.
        { TestUtils.getDoreplacedentNameLink(createdDatabase.id(), createdCollectionWithParreplacedionKey.id(), createdDoreplacedentWithParreplacedionKey2.id()), createdColPermissionWithParreplacedionKeyWithName, PARreplacedION_KEY_VALUE } };
    }

    @DataProvider(name = "doreplacedentAndMultipleCollPermissionData")
    public Object[][] doreplacedentAndMultipleCollPermissionData() {
        return new Object[][] { // These tests will try to read doreplacedent from parreplacedion 1 with two collection permissions having different parreplacedion keys and validate it, both with request Id and name.
        { createdDoreplacedentWithParreplacedionKey.selfLink(), createdColPermissionWithParreplacedionKey, createdColPermissionWithParreplacedionKey2, createdDoreplacedentWithParreplacedionKey.id(), PARreplacedION_KEY_VALUE }, { TestUtils.getDoreplacedentNameLink(createdDatabase.id(), createdCollectionWithParreplacedionKey.id(), createdDoreplacedentWithParreplacedionKey.id()), createdColPermissionWithParreplacedionKeyWithName, createdColPermissionWithParreplacedionKey2WithName, createdDoreplacedentWithParreplacedionKey.id(), PARreplacedION_KEY_VALUE }, // These tests will try to read doreplacedent from parreplacedion 1 with two collection permissions having different parreplacedion keys and validate it, both with request Id and name.
        { createdDoreplacedentWithParreplacedionKey2.selfLink(), createdColPermissionWithParreplacedionKey, createdColPermissionWithParreplacedionKey2, createdDoreplacedentWithParreplacedionKey2.id(), PARreplacedION_KEY_VALUE_2 }, { TestUtils.getDoreplacedentNameLink(createdDatabase.id(), createdCollectionWithParreplacedionKey.id(), createdDoreplacedentWithParreplacedionKey2.id()), createdColPermissionWithParreplacedionKeyWithName, createdColPermissionWithParreplacedionKey2WithName, createdDoreplacedentWithParreplacedionKey2.id(), PARreplacedION_KEY_VALUE_2 } };
    }

    @DataProvider(name = "resourceToken")
    public Object[][] resourceToken() {
        return new Object[][] { // This test will try to read doreplacedent from its resource token directly and validate it.
        { createdDocPermission.getToken() }, // This test will try to read doreplacedent from its parent collection resource token directly and validate it.
        { createdCollPermission.getToken() } };
    }

    /**
     * This test will try to read collection from permission and validate it.
     *
     * @throws Exception
     */
    @Test(groups = { "simple" }, dataProvider = "collectionAndPermissionData", timeOut = TIMEOUT)
    public void readCollectionFromPermissionFeed(String collectionUrl, Permission permission) throws Exception {
        AsyncDoreplacedentClient asyncClientResourceToken = null;
        try {
            List<Permission> permissionFeed = new ArrayList<>();
            permissionFeed.add(permission);
            asyncClientResourceToken = new AsyncDoreplacedentClient.Builder().withServiceEndpoint(TestConfigurations.HOST).withPermissionFeed(permissionFeed).withConnectionPolicy(ConnectionPolicy.defaultPolicy()).withConsistencyLevel(ConsistencyLevel.SESSION).build();
            Flux<ResourceResponse<DoreplacedentCollection>> readObservable = asyncClientResourceToken.readCollection(collectionUrl, null);
            ResourceResponseValidator<DoreplacedentCollection> validator = new ResourceResponseValidator.Builder<DoreplacedentCollection>().withId(createdCollection.id()).build();
            validateSuccess(readObservable, validator);
        } finally {
            safeClose(asyncClientResourceToken);
        }
    }

    /**
     * This test will try to read doreplacedent from permission and validate it.
     *
     * @throws Exception
     */
    @Test(groups = { "simple" }, dataProvider = "doreplacedentAndPermissionData", timeOut = TIMEOUT)
    public void readDoreplacedentFromPermissionFeed(String doreplacedentUrl, Permission permission, String doreplacedentId, String parreplacedionKey) throws Exception {
        AsyncDoreplacedentClient asyncClientResourceToken = null;
        try {
            List<Permission> permissionFeed = new ArrayList<>();
            permissionFeed.add(permission);
            asyncClientResourceToken = new AsyncDoreplacedentClient.Builder().withServiceEndpoint(TestConfigurations.HOST).withPermissionFeed(permissionFeed).withConnectionPolicy(ConnectionPolicy.defaultPolicy()).withConsistencyLevel(ConsistencyLevel.SESSION).build();
            RequestOptions options = new RequestOptions();
            if (StringUtils.isNotEmpty(parreplacedionKey)) {
                options.setParreplacedionKey(new ParreplacedionKey((String) parreplacedionKey));
            } else {
                options.setParreplacedionKey(ParreplacedionKey.None);
            }
            Flux<ResourceResponse<Doreplacedent>> readObservable = asyncClientResourceToken.readDoreplacedent(doreplacedentUrl, options);
            ResourceResponseValidator<Doreplacedent> validator = new ResourceResponseValidator.Builder<Doreplacedent>().withId(doreplacedentId).build();
            validateSuccess(readObservable, validator);
        } finally {
            safeClose(asyncClientResourceToken);
        }
    }

    /**
     * This test will try to read doreplacedent from resource token directly and validate it.
     *
     * @throws Exception
     */
    @Test(groups = { "simple" }, dataProvider = "resourceToken", timeOut = TIMEOUT)
    public void readDoreplacedentFromResouceToken(String resourceToken) throws Exception {
        AsyncDoreplacedentClient asyncClientResourceToken = null;
        try {
            asyncClientResourceToken = new AsyncDoreplacedentClient.Builder().withServiceEndpoint(TestConfigurations.HOST).withMasterKeyOrResourceToken(resourceToken).withConnectionPolicy(ConnectionPolicy.defaultPolicy()).withConsistencyLevel(ConsistencyLevel.SESSION).build();
            RequestOptions options = new RequestOptions();
            options.setParreplacedionKey(ParreplacedionKey.None);
            Flux<ResourceResponse<Doreplacedent>> readObservable = asyncClientResourceToken.readDoreplacedent(createdDoreplacedent.selfLink(), options);
            ResourceResponseValidator<Doreplacedent> validator = new ResourceResponseValidator.Builder<Doreplacedent>().withId(createdDoreplacedent.id()).build();
            validateSuccess(readObservable, validator);
        } finally {
            safeClose(asyncClientResourceToken);
        }
    }

    /**
     * This test will try to read doreplacedent from multiple collection permissions having different keys and validate it.
     *
     * @throws Exception
     */
    @Test(groups = { "simple" }, dataProvider = "doreplacedentAndMultipleCollPermissionData", timeOut = TIMEOUT)
    public void readDoreplacedentOfParKeyFromTwoCollPermissionWithDiffParreplacedionKeys(String doreplacedentUrl, Permission collPermission1, Permission collPermission2, String doreplacedentId, String parreplacedionKey) throws Exception {
        AsyncDoreplacedentClient asyncClientResourceToken = null;
        try {
            List<Permission> permissionFeed = new ArrayList<>();
            permissionFeed.add(collPermission1);
            permissionFeed.add(collPermission2);
            asyncClientResourceToken = new AsyncDoreplacedentClient.Builder().withServiceEndpoint(TestConfigurations.HOST).withPermissionFeed(permissionFeed).withConnectionPolicy(ConnectionPolicy.defaultPolicy()).withConsistencyLevel(ConsistencyLevel.SESSION).build();
            RequestOptions options = new RequestOptions();
            options.setParreplacedionKey(new ParreplacedionKey(parreplacedionKey));
            Flux<ResourceResponse<Doreplacedent>> readObservable = asyncClientResourceToken.readDoreplacedent(doreplacedentUrl, options);
            ResourceResponseValidator<Doreplacedent> validator = new ResourceResponseValidator.Builder<Doreplacedent>().withId(doreplacedentId).build();
            validateSuccess(readObservable, validator);
        } finally {
            safeClose(asyncClientResourceToken);
        }
    }

    /**
     * This test will try to read doreplacedent with wrong collection permission hence
     * expecting resource not found failure.
     *
     * @throws Exception
     */
    @Test(groups = { "simple" }, dataProvider = "doreplacedentAndPermissionDataForResourceNotFound", timeOut = TIMEOUT)
    public void readDoreplacedentFromCollPermissionWithDiffParreplacedionKey_ResourceNotFound(String doreplacedentUrl, Permission permission, String parreplacedionKey) throws Exception {
        AsyncDoreplacedentClient asyncClientResourceToken = null;
        try {
            List<Permission> permissionFeed = new ArrayList<>();
            permissionFeed.add(permission);
            asyncClientResourceToken = new AsyncDoreplacedentClient.Builder().withServiceEndpoint(TestConfigurations.HOST).withPermissionFeed(permissionFeed).withConnectionPolicy(ConnectionPolicy.defaultPolicy()).withConsistencyLevel(ConsistencyLevel.SESSION).build();
            RequestOptions options = new RequestOptions();
            options.setParreplacedionKey(new ParreplacedionKey(parreplacedionKey));
            Flux<ResourceResponse<Doreplacedent>> readObservable = asyncClientResourceToken.readDoreplacedent(doreplacedentUrl, options);
            FailureValidator validator = new FailureValidator.Builder().resourceNotFound().build();
            validateFailure(readObservable, validator);
        } finally {
            safeClose(asyncClientResourceToken);
        }
    }

    /**
     * This test will try to read doreplacedent with collection permissions and preplaceding wrong parreplacedionkey
     * in request options hence expecting exception.
     *
     * @throws Exception
     */
    @Test(groups = { "simple" }, timeOut = TIMEOUT)
    public void readDoreplacedentFromCollPermissionWithDiffParreplacedionKey_WithException() throws Exception {
        AsyncDoreplacedentClient asyncClientResourceToken = null;
        try {
            List<Permission> permissionFeed = new ArrayList<>();
            permissionFeed.add(createdColPermissionWithParreplacedionKey);
            asyncClientResourceToken = new AsyncDoreplacedentClient.Builder().withServiceEndpoint(TestConfigurations.HOST).withConnectionPolicy(ConnectionPolicy.defaultPolicy()).withConsistencyLevel(ConsistencyLevel.SESSION).withPermissionFeed(permissionFeed).build();
            RequestOptions options = new RequestOptions();
            options.setParreplacedionKey(new ParreplacedionKey(PARreplacedION_KEY_VALUE_2));
            Flux<ResourceResponse<Doreplacedent>> readObservable = asyncClientResourceToken.readDoreplacedent(createdDoreplacedentWithParreplacedionKey.selfLink(), options);
            FailureValidator validator = new FailureValidator.Builder().resourceTokenNotFound().build();
            validateFailure(readObservable, validator);
        } finally {
            safeClose(asyncClientResourceToken);
        }
    }

    @AfterClreplaced(groups = { "simple" }, timeOut = SHUTDOWN_TIMEOUT, alwaysRun = true)
    public void afterClreplaced() {
        safeDeleteDatabase(client, databaseId);
        safeClose(client);
    }

    private static User getUserDefinition() {
        User user = new User();
        user.id(USER_NAME);
        return user;
    }

    private static Doreplacedent getDoreplacedent() {
        Doreplacedent doc = new Doreplacedent(String.format(DOreplacedENT_DEFINITION, 1, 1));
        return doc;
    }

    private Permission getCollPermission() {
        Permission permission = new Permission();
        permission.id(PERMISSION_FOR_COLL);
        permission.setPermissionMode(PermissionMode.READ);
        permission.setResourceLink(createdCollection.selfLink());
        return permission;
    }

    private Permission getCollPermissionWithName() {
        Permission permission = new Permission();
        permission.id(PERMISSION_FOR_COLL_WITH_NAME);
        permission.setPermissionMode(PermissionMode.READ);
        permission.setResourceLink(TestUtils.getCollectionNameLink(createdDatabase.id(), createdCollection.id()));
        return permission;
    }

    private Permission getDocPermission() {
        Permission permission = new Permission();
        permission.id(PERMISSION_FOR_DOC);
        permission.setPermissionMode(PermissionMode.READ);
        permission.setResourceLink(createdDoreplacedent.selfLink());
        return permission;
    }

    private Permission getDocPermissionWithName() {
        Permission permission = new Permission();
        permission.id(PERMISSION_FOR_DOC_WITH_NAME);
        permission.setPermissionMode(PermissionMode.READ);
        permission.setResourceLink(TestUtils.getDoreplacedentNameLink(createdDatabase.id(), createdCollection.id(), createdDoreplacedent.id()));
        return permission;
    }

    private Permission getDocPermissionWithParreplacedionKey() {
        String permissionStr = String.format(PERMISSION_DEFINITION, createdDoreplacedentWithParreplacedionKey.selfLink(), PARreplacedION_KEY_VALUE);
        Permission permission = new Permission(permissionStr);
        return permission;
    }

    private Permission getDocPermissionWithParreplacedionKeyWithName() {
        String permissionStr = String.format(PERMISSION_DEFINITION, TestUtils.getDoreplacedentNameLink(createdDatabase.id(), createdCollectionWithParreplacedionKey.id(), createdDoreplacedentWithParreplacedionKey.id()), PARreplacedION_KEY_VALUE);
        Permission permission = new Permission(permissionStr);
        permission.id("PermissionForDocWithParreplacedionKeyWithName");
        return permission;
    }

    private Permission getDocPermissionWithParreplacedionKey2() {
        String permissionStr = String.format(PERMISSION_DEFINITION, createdDoreplacedentWithParreplacedionKey2.selfLink(), PARreplacedION_KEY_VALUE_2);
        Permission permission = new Permission(permissionStr);
        permission.id("PermissionForDocWithParreplacedionKey2");
        return permission;
    }

    private Permission getDocPermissionWithParreplacedionKey2WithName() {
        String permissionStr = String.format(PERMISSION_DEFINITION, TestUtils.getDoreplacedentNameLink(createdDatabase.id(), createdCollectionWithParreplacedionKey.id(), createdDoreplacedentWithParreplacedionKey2.id()), PARreplacedION_KEY_VALUE_2);
        Permission permission = new Permission(permissionStr);
        permission.id("PermissionForDocWithParreplacedionKey2WithName");
        return permission;
    }

    private Permission getColPermissionWithParreplacedionKey() {
        String permissionStr = String.format(COLLECTION_PERMISSION_DEFINITION, createdCollectionWithParreplacedionKey.selfLink(), PARreplacedION_KEY_VALUE);
        Permission permission = new Permission(permissionStr);
        return permission;
    }

    private Permission getColPermissionWithParreplacedionKeyWithName() {
        String permissionStr = String.format(COLLECTION_PERMISSION_DEFINITION, TestUtils.getCollectionNameLink(createdDatabase.id(), createdCollectionWithParreplacedionKey.id()), PARreplacedION_KEY_VALUE);
        Permission permission = new Permission(permissionStr);
        permission.id("PermissionForColWithParreplacedionKeyWithName");
        return permission;
    }

    private Permission getColPermissionWithParreplacedionKey2() {
        String permissionStr = String.format(COLLECTION_PERMISSION_DEFINITION, createdCollectionWithParreplacedionKey.selfLink(), PARreplacedION_KEY_VALUE_2);
        Permission permission = new Permission(permissionStr);
        permission.id("PermissionForColWithParreplacedionKey2");
        return permission;
    }

    private Permission getColPermissionWithParreplacedionKey2WithName() {
        String permissionStr = String.format(COLLECTION_PERMISSION_DEFINITION, TestUtils.getCollectionNameLink(createdDatabase.id(), createdCollectionWithParreplacedionKey.id()), PARreplacedION_KEY_VALUE_2);
        Permission permission = new Permission(permissionStr);
        permission.id("PermissionForColWithParreplacedionKey2WithName");
        return permission;
    }

    private String getUserLink() {
        return createdUser.selfLink();
    }

    private Doreplacedent getDoreplacedentDefinitionWithParreplacedionKey() {
        String uuid = UUID.randomUUID().toString();
        Doreplacedent doc = new Doreplacedent(String.format(DOreplacedENT_DEFINITION_WITH_PERMISSION_KEY, uuid, PARreplacedION_KEY_VALUE));
        return doc;
    }

    private Doreplacedent getDoreplacedentDefinitionWithParreplacedionKey2() {
        String uuid = UUID.randomUUID().toString();
        Doreplacedent doc = new Doreplacedent(String.format(DOreplacedENT_DEFINITION_WITH_PERMISSION_KEY, uuid, PARreplacedION_KEY_VALUE_2));
        return doc;
    }

    private DoreplacedentCollection getCollectionDefinitionWithParreplacedionKey(String pkDefPath) {
        ParreplacedionKeyDefinition parreplacedionKeyDef = new ParreplacedionKeyDefinition();
        ArrayList<String> paths = new ArrayList<String>();
        paths.add(pkDefPath);
        parreplacedionKeyDef.paths(paths);
        DoreplacedentCollection collectionDefinition = new DoreplacedentCollection();
        collectionDefinition.id(UUID.randomUUID().toString());
        collectionDefinition.setParreplacedionKey(parreplacedionKeyDef);
        return collectionDefinition;
    }
}

19 View Complete Implementation : BackPressureTest.java
Copyright MIT License
Author : Azure
// FIXME: beforeClreplaced method times out inconsistently
@Ignore
public clreplaced BackPressureTest extends TestSuiteBase {

    private static final int TIMEOUT = 200000;

    private static final int SETUP_TIMEOUT = 60000;

    private CosmosDatabase createdDatabase;

    private CosmosContainer createdCollection;

    private List<CosmosItemProperties> createdDoreplacedents;

    private CosmosClient client;

    public String getCollectionLink() {
        return TestUtils.getCollectionNameLink(createdDatabase.id(), createdCollection.id());
    }

    private static CosmosContainerProperties getSingleParreplacedionCollectionDefinition() {
        ParreplacedionKeyDefinition parreplacedionKeyDef = new ParreplacedionKeyDefinition();
        ArrayList<String> paths = new ArrayList<String>();
        paths.add("/mypk");
        parreplacedionKeyDef.paths(paths);
        CosmosContainerProperties collectionDefinition = new CosmosContainerProperties(UUID.randomUUID().toString(), parreplacedionKeyDef);
        return collectionDefinition;
    }

    @Factory(dataProvider = "simpleClientBuildersWithDirectHttps")
    public BackPressureTest(CosmosClientBuilder clientBuilder) {
        super(clientBuilder);
    }

    @Test(groups = { "long" }, timeOut = 3 * TIMEOUT)
    public void readFeed() throws Exception {
        FeedOptions options = new FeedOptions();
        options.maxItemCount(1);
        options.enableCrossParreplacedionQuery(true);
        Flux<FeedResponse<CosmosItemProperties>> queryObservable = createdCollection.readAllItems(options);
        RxDoreplacedentClientUnderTest rxClient = (RxDoreplacedentClientUnderTest) CosmosBridgeInternal.getAsyncDoreplacedentClient(client);
        rxClient.httpRequests.clear();
        TestSubscriber<FeedResponse<CosmosItemProperties>> subscriber = new TestSubscriber<FeedResponse<CosmosItemProperties>>(1);
        queryObservable.publishOn(Schedulers.elastic(), 1).subscribe(subscriber);
        // 10 seconds
        int sleepTimeInMillis = 10000;
        int i = 0;
        // use a test subscriber and request for more result and sleep in between
        while (subscriber.completions() == 0 && subscriber.getEvents().get(1).isEmpty()) {
            TimeUnit.MILLISECONDS.sleep(sleepTimeInMillis);
            sleepTimeInMillis /= 2;
            if (sleepTimeInMillis > 1000) {
                // validate that only one item is returned to subscriber in each iteration
                replacedertThat(subscriber.valueCount() - i).isEqualTo(1);
            }
            // validate that only one item is returned to subscriber in each iteration
            // validate that the difference between the number of requests to backend
            // and the number of returned results is always less than a fixed threshold
            replacedertThat(rxClient.httpRequests.size() - subscriber.valueCount()).isLessThanOrEqualTo(Queues.SMALL_BUFFER_SIZE);
            subscriber.requestMore(1);
            i++;
        }
        subscriber.replacedertNoErrors();
        subscriber.replacedertComplete();
        replacedertThat(subscriber.valueCount()).isEqualTo(createdDoreplacedents.size());
    }

    @Test(groups = { "long" }, timeOut = 3 * TIMEOUT)
    public void query() throws Exception {
        FeedOptions options = new FeedOptions();
        options.maxItemCount(1);
        options.enableCrossParreplacedionQuery(true);
        Flux<FeedResponse<CosmosItemProperties>> queryObservable = createdCollection.queryItems("SELECT * from r", options);
        RxDoreplacedentClientUnderTest rxClient = (RxDoreplacedentClientUnderTest) CosmosBridgeInternal.getAsyncDoreplacedentClient(client);
        rxClient.httpRequests.clear();
        TestSubscriber<FeedResponse<CosmosItemProperties>> subscriber = new TestSubscriber<FeedResponse<CosmosItemProperties>>(1);
        queryObservable.publishOn(Schedulers.elastic(), 1).subscribe(subscriber);
        int sleepTimeInMillis = 10000;
        int i = 0;
        // use a test subscriber and request for more result and sleep in between
        while (subscriber.completions() == 0 && subscriber.getEvents().get(1).isEmpty()) {
            TimeUnit.MILLISECONDS.sleep(sleepTimeInMillis);
            sleepTimeInMillis /= 2;
            if (sleepTimeInMillis > 1000) {
                // validate that only one item is returned to subscriber in each iteration
                replacedertThat(subscriber.valueCount() - i).isEqualTo(1);
            }
            // validate that the difference between the number of requests to backend
            // and the number of returned results is always less than a fixed threshold
            replacedertThat(rxClient.httpRequests.size() - subscriber.valueCount()).isLessThanOrEqualTo(Queues.SMALL_BUFFER_SIZE);
            subscriber.requestMore(1);
            i++;
        }
        subscriber.replacedertNoErrors();
        subscriber.replacedertComplete();
        replacedertThat(subscriber.valueCount()).isEqualTo(createdDoreplacedents.size());
    }

    @BeforeClreplaced(groups = { "long" }, timeOut = 2 * SETUP_TIMEOUT)
    public void beforeClreplaced() throws Exception {
        CosmosContainerRequestOptions options = new CosmosContainerRequestOptions();
        client = new ClientUnderTestBuilder(clientBuilder()).build();
        createdDatabase = getSharedCosmosDatabase(client);
        createdCollection = createCollection(createdDatabase, getSingleParreplacedionCollectionDefinition(), options, 1000);
        RxDoreplacedentClientUnderTest rxClient = (RxDoreplacedentClientUnderTest) CosmosBridgeInternal.getAsyncDoreplacedentClient(client);
        // increase throughput to max for a single parreplacedion collection to avoid throttling
        // for bulk insert and later queries.
        Offer offer = rxClient.queryOffers(String.format("SELECT * FROM r WHERE r.offerResourceId = '%s'", createdCollection.read().block().properties().resourceId()), null).take(1).map(FeedResponse::results).single().block().get(0);
        offer.setThroughput(6000);
        offer = rxClient.replaceOffer(offer).single().block().getResource();
        replacedertThat(offer.getThroughput()).isEqualTo(6000);
        ArrayList<CosmosItemProperties> docDefList = new ArrayList<>();
        for (int i = 0; i < 1000; i++) {
            docDefList.add(getDoreplacedentDefinition(i));
        }
        createdDoreplacedents = bulkInsertBlocking(createdCollection, docDefList);
        waitIfNeededForReplicasToCatchUp(clientBuilder());
        warmUp();
    }

    private void warmUp() {
        // ensure collection is cached
        FeedOptions options = new FeedOptions();
        options.enableCrossParreplacedionQuery(true);
        createdCollection.queryItems("SELECT * from r", options).blockFirst();
    }

    // TODO: DANOBLE: Investigate DIRECT TCP performance issue
    // NOTE: This method requires multiple SHUTDOWN_TIMEOUT intervals
    // SEE: https://msdata.visualstudio.com/CosmosDB/_workitems/edit/367028https://msdata.visualstudio.com/CosmosDB/_workitems/edit/367028
    @AfterClreplaced(groups = { "long" }, timeOut = 2 * SHUTDOWN_TIMEOUT, alwaysRun = true)
    public void afterClreplaced() {
        safeDeleteCollection(createdCollection);
        safeClose(client);
    }

    private static CosmosItemProperties getDoreplacedentDefinition(int cnt) {
        String uuid = UUID.randomUUID().toString();
        CosmosItemProperties doc = new CosmosItemProperties(String.format("{ " + "\"id\": \"%s\", " + "\"prop\" : %d, " + "\"mypk\": \"%s\", " + "\"sgmts\": [[6519456, 1471916863], [2498434, 1455671440]]" + "}", uuid, cnt, uuid));
        return doc;
    }
}

19 View Complete Implementation : PermissionQueryTest.java
Copyright MIT License
Author : Azure
// TODO: change to use external TestSuiteBase
// FIXME beforeClreplaced times out inconsistently
@Ignore
public clreplaced PermissionQueryTest extends TestSuiteBase {

    public final String databaseId = DatabaseForTest.generateId();

    private Database createdDatabase;

    private User createdUser;

    private List<Permission> createdPermissions = new ArrayList<>();

    private AsyncDoreplacedentClient client;

    @Factory(dataProvider = "clientBuilders")
    public PermissionQueryTest(AsyncDoreplacedentClient.Builder clientBuilder) {
        super(clientBuilder);
    }

    @Test(groups = { "simple" }, timeOut = TIMEOUT)
    public void queryWithFilter() throws Exception {
        String filterId = createdPermissions.get(0).id();
        String query = String.format("SELECT * from c where c.id = '%s'", filterId);
        FeedOptions options = new FeedOptions();
        options.maxItemCount(5);
        Flux<FeedResponse<Permission>> queryObservable = client.queryPermissions(getUserLink(), query, options);
        List<Permission> expectedDocs = createdPermissions.stream().filter(sp -> filterId.equals(sp.id())).collect(Collectors.toList());
        replacedertThat(expectedDocs).isNotEmpty();
        int expectedPageSize = (expectedDocs.size() + options.maxItemCount() - 1) / options.maxItemCount();
        FeedResponseListValidator<Permission> validator = new FeedResponseListValidator.Builder<Permission>().totalSize(expectedDocs.size()).exactlyContainsInAnyOrder(expectedDocs.stream().map(d -> d.resourceId()).collect(Collectors.toList())).numberOfPages(expectedPageSize).pageSatisfy(0, new FeedResponseValidator.Builder<Permission>().requestChargeGreaterThanOrEqualTo(1.0).build()).build();
        validateQuerySuccess(queryObservable, validator, TIMEOUT);
    }

    @Test(groups = { "simple" }, timeOut = TIMEOUT)
    public void query_NoResults() throws Exception {
        String query = "SELECT * from root r where r.id = '2'";
        FeedOptions options = new FeedOptions();
        options.enableCrossParreplacedionQuery(true);
        Flux<FeedResponse<Permission>> queryObservable = client.queryPermissions(getUserLink(), query, options);
        FeedResponseListValidator<Permission> validator = new FeedResponseListValidator.Builder<Permission>().containsExactly(new ArrayList<>()).numberOfPages(1).pageSatisfy(0, new FeedResponseValidator.Builder<Permission>().requestChargeGreaterThanOrEqualTo(1.0).build()).build();
        validateQuerySuccess(queryObservable, validator);
    }

    @Test(groups = { "simple" }, timeOut = TIMEOUT)
    public void queryAll() throws Exception {
        String query = "SELECT * from root";
        FeedOptions options = new FeedOptions();
        options.maxItemCount(3);
        options.enableCrossParreplacedionQuery(true);
        Flux<FeedResponse<Permission>> queryObservable = client.queryPermissions(getUserLink(), query, options);
        int expectedPageSize = (createdPermissions.size() + options.maxItemCount() - 1) / options.maxItemCount();
        FeedResponseListValidator<Permission> validator = new FeedResponseListValidator.Builder<Permission>().exactlyContainsInAnyOrder(createdPermissions.stream().map(d -> d.resourceId()).collect(Collectors.toList())).numberOfPages(expectedPageSize).allPagesSatisfy(new FeedResponseValidator.Builder<Permission>().requestChargeGreaterThanOrEqualTo(1.0).build()).build();
        validateQuerySuccess(queryObservable, validator);
    }

    @Test(groups = { "simple" }, timeOut = TIMEOUT)
    public void invalidQuerySytax() throws Exception {
        String query = "I am an invalid query";
        FeedOptions options = new FeedOptions();
        options.enableCrossParreplacedionQuery(true);
        Flux<FeedResponse<Permission>> queryObservable = client.queryPermissions(getUserLink(), query, options);
        FailureValidator validator = new FailureValidator.Builder().instanceOf(CosmosClientException.clreplaced).statusCode(400).notNullActivityId().build();
        validateQueryFailure(queryObservable, validator);
    }

    @BeforeClreplaced(groups = { "simple" }, timeOut = SETUP_TIMEOUT)
    public void beforeClreplaced() {
        client = clientBuilder().build();
        Database d = new Database();
        d.id(databaseId);
        createdDatabase = createDatabase(client, d);
        createdUser = safeCreateUser(client, createdDatabase.id(), getUserDefinition());
        for (int i = 0; i < 5; i++) {
            createdPermissions.add(createPermissions(client, i));
        }
        waitIfNeededForReplicasToCatchUp(clientBuilder());
    }

    @AfterClreplaced(groups = { "simple" }, timeOut = SHUTDOWN_TIMEOUT, alwaysRun = true)
    public void afterClreplaced() {
        safeDeleteDatabase(client, createdDatabase);
        safeClose(client);
    }

    private static User getUserDefinition() {
        User user = new User();
        user.id(UUID.randomUUID().toString());
        return user;
    }

    public Permission createPermissions(AsyncDoreplacedentClient client, int index) {
        DoreplacedentCollection collection = new DoreplacedentCollection();
        collection.id(UUID.randomUUID().toString());
        Permission permission = new Permission();
        permission.id(UUID.randomUUID().toString());
        permission.setPermissionMode(PermissionMode.READ);
        permission.setResourceLink("dbs/AQAAAA==/colls/AQAAAJ0fgT" + Integer.toString(index) + "=");
        return client.createPermission(getUserLink(), permission, null).single().block().getResource();
    }

    private String getUserLink() {
        return "dbs/" + getDatabaseId() + "/users/" + getUserId();
    }

    private String getDatabaseId() {
        return createdDatabase.id();
    }

    private String getUserId() {
        return createdUser.id();
    }
}

19 View Complete Implementation : DocumentCRUDAsyncAPITest.java
Copyright MIT License
Author : Azure
/**
 * This integration test clreplaced demonstrates how to use Async API to create,
 * delete, replace, and upsert Doreplacedents. If you are interested in examples for
 * querying for doreplacedents please see {@link DoreplacedentQueryAsyncAPITest}
 * <p>
 * NOTE: you can use rxJava based async api with java8 lambda expression. Use
 * of rxJava based async APIs with java8 lambda expressions is much prettier.
 * <p>
 * You can also use the async API without java8 lambda expression.
 * <p>
 * For example
 * <ul>
 * <li>{@link #createDoreplacedent_Async()} demonstrates how to use async api
 * with java8 lambda expression.
 *
 * <li>{@link #createDoreplacedent_Async_withoutLambda()} demonstrates how to do
 * the same thing without lambda expression.
 * </ul>
 * <p>
 * Also if you need to work with Future or CompletableFuture it is possible to
 * transform a flux to CompletableFuture. Please see
 * {@link #transformObservableToCompletableFuture()}
 */
// FIXME: beforeClreplaced times out inconsistently
@Ignore
public clreplaced DoreplacedentCRUDAsyncAPITest extends DoreplacedentClientTest {

    private final static String PARreplacedION_KEY_PATH = "/mypk";

    private final static int TIMEOUT = 60000;

    private AsyncDoreplacedentClient client;

    private Database createdDatabase;

    private DoreplacedentCollection createdCollection;

    @BeforeClreplaced(groups = "samples", timeOut = TIMEOUT)
    public void setUp() {
        ConnectionPolicy connectionPolicy = new ConnectionPolicy().connectionMode(ConnectionMode.DIRECT);
        this.clientBuilder().withServiceEndpoint(TestConfigurations.HOST).withMasterKeyOrResourceToken(TestConfigurations.MASTER_KEY).withConnectionPolicy(connectionPolicy).withConsistencyLevel(ConsistencyLevel.SESSION);
        this.client = this.clientBuilder().build();
        DoreplacedentCollection collectionDefinition = new DoreplacedentCollection();
        collectionDefinition.id(UUID.randomUUID().toString());
        ParreplacedionKeyDefinition parreplacedionKeyDefinition = new ParreplacedionKeyDefinition();
        ArrayList<String> parreplacedionKeyPaths = new ArrayList<String>();
        parreplacedionKeyPaths.add(PARreplacedION_KEY_PATH);
        parreplacedionKeyDefinition.paths(parreplacedionKeyPaths);
        collectionDefinition.setParreplacedionKey(parreplacedionKeyDefinition);
        // CREATE database
        createdDatabase = Utils.createDatabaseForTest(client);
        // CREATE collection
        createdCollection = client.createCollection("dbs/" + createdDatabase.id(), collectionDefinition, null).single().block().getResource();
    }

    @AfterClreplaced(groups = "samples", timeOut = TIMEOUT)
    public void shutdown() {
        Utils.safeClean(client, createdDatabase);
        Utils.safeClose(client);
    }

    /**
     * CREATE a doreplacedent using java8 lambda expressions
     */
    @Test(groups = "samples", timeOut = TIMEOUT)
    public void createDoreplacedent_Async() throws Exception {
        Doreplacedent doc = new Doreplacedent(String.format("{ 'id': 'doc%s', 'counter': '%d'}", UUID.randomUUID().toString(), 1));
        Flux<ResourceResponse<Doreplacedent>> createDoreplacedentObservable = client.createDoreplacedent(getCollectionLink(), doc, null, true);
        final CountDownLatch completionLatch = new CountDownLatch(1);
        // Subscribe to Doreplacedent resource response emitted by the observable
        // We know there will be one response
        createDoreplacedentObservable.single().subscribe(doreplacedentResourceResponse -> {
            System.out.println(doreplacedentResourceResponse.getActivityId());
            completionLatch.countDown();
        }, error -> {
            System.err.println("an error occurred while creating the doreplacedent: actual cause: " + error.getMessage());
            completionLatch.countDown();
        });
        // Wait till doreplacedent creation completes
        completionLatch.await();
    }

    /**
     * CREATE a doreplacedent without java8 lambda expressions
     */
    @Test(groups = "samples", timeOut = TIMEOUT)
    public void createDoreplacedent_Async_withoutLambda() throws Exception {
        Doreplacedent doc = new Doreplacedent(String.format("{ 'id': 'doc%s', 'counter': '%d'}", UUID.randomUUID().toString(), 1));
        Flux<ResourceResponse<Doreplacedent>> createDoreplacedentObservable = client.createDoreplacedent(getCollectionLink(), doc, null, true);
        final CountDownLatch completionLatch = new CountDownLatch(1);
        Consumer<ResourceResponse<Doreplacedent>> onNext = new Consumer<ResourceResponse<Doreplacedent>>() {

            @Override
            public void accept(ResourceResponse<Doreplacedent> doreplacedentResourceResponse) {
                System.out.println(doreplacedentResourceResponse.getActivityId());
                completionLatch.countDown();
            }
        };
        Consumer<Throwable> onError = new Consumer<Throwable>() {

            @Override
            public void accept(Throwable error) {
                System.err.println("an error occurred while creating the doreplacedent: actual cause: " + error.getMessage());
                completionLatch.countDown();
            }
        };
        // Subscribe to Doreplacedent resource response emitted by the observable
        // We know there will be one response
        createDoreplacedentObservable.single().subscribe(onNext, onError);
        // Wait till doreplacedent creation completes
        completionLatch.await();
    }

    /**
     * CREATE a doreplacedent in a blocking manner
     */
    @Test(groups = "samples", timeOut = TIMEOUT)
    public void createDoreplacedent_toBlocking() {
        Doreplacedent doc = new Doreplacedent(String.format("{ 'id': 'doc%s', 'counter': '%d'}", UUID.randomUUID().toString(), 1));
        Flux<ResourceResponse<Doreplacedent>> createDoreplacedentObservable = client.createDoreplacedent(getCollectionLink(), doc, null, true);
        // toBlocking() converts to a blocking observable.
        // single() gets the only result.
        createDoreplacedentObservable.single().block();
    }

    /**
     * CREATE a doreplacedent with a programmatically set definition, in an Async manner
     */
    @Test(groups = "samples", timeOut = TIMEOUT)
    public void createDoreplacedentWithProgrammableDoreplacedentDefinition() throws Exception {
        Doreplacedent doreplacedentDefinition = new Doreplacedent();
        doreplacedentDefinition.id("test-doreplacedent");
        BridgeInternal.setProperty(doreplacedentDefinition, "counter", 1);
        // CREATE a doreplacedent
        Doreplacedent createdDoreplacedent = client.createDoreplacedent(getCollectionLink(), doreplacedentDefinition, null, false).single().block().getResource();
        RequestOptions options = new RequestOptions();
        options.setParreplacedionKey(ParreplacedionKey.None);
        // READ the created doreplacedent
        Flux<ResourceResponse<Doreplacedent>> readDoreplacedentObservable = client.readDoreplacedent(getDoreplacedentLink(createdDoreplacedent), null);
        final CountDownLatch completionLatch = new CountDownLatch(1);
        readDoreplacedentObservable.subscribe(doreplacedentResourceResponse -> {
            Doreplacedent readDoreplacedent = doreplacedentResourceResponse.getResource();
            // The read doreplacedent must be the same as the written doreplacedent
            replacedertThat(readDoreplacedent.id(), equalTo("test-doreplacedent"));
            replacedertThat(readDoreplacedent.getInt("counter"), equalTo(1));
            System.out.println(doreplacedentResourceResponse.getActivityId());
            completionLatch.countDown();
        }, error -> {
            System.err.println("an error occured while creating the doreplacedent: actual cause: " + error.getMessage());
            completionLatch.countDown();
        });
        completionLatch.await();
    }

    /**
     * CREATE 10 doreplacedents and sum up all the doreplacedents creation request charges
     */
    @Test(groups = "samples", timeOut = TIMEOUT)
    public void doreplacedentCreation_SumUpRequestCharge() throws Exception {
        // CREATE 10 doreplacedents
        List<Flux<ResourceResponse<Doreplacedent>>> listOfCreateDoreplacedentObservables = new ArrayList<>();
        for (int i = 0; i < 10; i++) {
            Doreplacedent doc = new Doreplacedent(String.format("{ 'id': 'doc%s', 'counter': '%d'}", UUID.randomUUID().toString(), i));
            Flux<ResourceResponse<Doreplacedent>> createDoreplacedentObservable = client.createDoreplacedent(getCollectionLink(), doc, null, false);
            listOfCreateDoreplacedentObservables.add(createDoreplacedentObservable);
        }
        // Merge all doreplacedent creation observables into one observable
        Flux<ResourceResponse<Doreplacedent>> mergedObservable = Flux.merge(listOfCreateDoreplacedentObservables);
        // CREATE a new observable emitting the total charge of creating all 10
        // doreplacedents.
        Flux<Double> totalChargeObservable = mergedObservable.map(ResourceResponse::getRequestCharge).reduce(Double::sum).flux();
        // Sum up all the charges
        final CountDownLatch completionLatch = new CountDownLatch(1);
        // Subscribe to the total request charge observable
        totalChargeObservable.subscribe(totalCharge -> {
            // Print the total charge
            System.out.println(totalCharge);
            completionLatch.countDown();
        }, e -> completionLatch.countDown());
        completionLatch.await();
    }

    /**
     * Attempt to create a doreplacedent which already exists
     * - First create a doreplacedent
     * - Using the async api generate an async doreplacedent creation observable
     * - Converts the Observable to blocking using Observable.toBlocking() api
     * - Catch already exist failure (409)
     */
    @Test(groups = "samples", timeOut = TIMEOUT)
    public void createDoreplacedent_toBlocking_DoreplacedentAlreadyExists_Fails() {
        Doreplacedent doc = new Doreplacedent(String.format("{ 'id': 'doc%s', 'counter': '%d'}", UUID.randomUUID().toString(), 1));
        client.createDoreplacedent(getCollectionLink(), doc, null, false).single().block();
        // CREATE the doreplacedent
        Flux<ResourceResponse<Doreplacedent>> createDoreplacedentObservable = client.createDoreplacedent(getCollectionLink(), doc, null, false);
        try {
            // Converts the observable to a single observable
            createDoreplacedentObservable.single().block();
            replacedert.fail("Doreplacedent Already Exists. Doreplacedent Creation must fail");
        } catch (Exception e) {
            replacedertThat("Doreplacedent already exists.", ((CosmosClientException) e.getCause()).statusCode(), equalTo(409));
        }
    }

    /**
     * Attempt to create a doreplacedent which already exists
     * - First create a doreplacedent
     * - Using the async api generate an async doreplacedent creation observable
     * - Converts the Observable to blocking using Observable.toBlocking() api
     * - Catch already exist failure (409)
     */
    @Test(groups = "samples", timeOut = TIMEOUT)
    public void createDoreplacedent_Async_DoreplacedentAlreadyExists_Fails() throws Exception {
        Doreplacedent doc = new Doreplacedent(String.format("{ 'id': 'doc%s', 'counter': '%d'}", UUID.randomUUID().toString(), 1));
        client.createDoreplacedent(getCollectionLink(), doc, null, false).single().block();
        // CREATE the doreplacedent
        Flux<ResourceResponse<Doreplacedent>> createDoreplacedentObservable = client.createDoreplacedent(getCollectionLink(), doc, null, false);
        List<Throwable> errorList = Collections.synchronizedList(new ArrayList<>());
        createDoreplacedentObservable.subscribe(resourceResponse -> {
        }, error -> {
            errorList.add(error);
            System.err.println("failed to create a doreplacedent due to: " + error.getMessage());
        });
        Thread.sleep(2000);
        replacedertThat(errorList, hreplacedize(1));
        replacedertThat(errorList.get(0), is(instanceOf(CosmosClientException.clreplaced)));
        replacedertThat(((CosmosClientException) errorList.get(0)).statusCode(), equalTo(409));
    }

    /**
     * REPLACE a doreplacedent
     */
    @Test(groups = "samples", timeOut = TIMEOUT)
    public void doreplacedentReplace_Async() throws Exception {
        // CREATE a doreplacedent
        Doreplacedent createdDoreplacedent = new Doreplacedent(String.format("{ 'id': 'doc%s', 'counter': '%d'}", UUID.randomUUID().toString(), 1));
        createdDoreplacedent = client.createDoreplacedent(getCollectionLink(), createdDoreplacedent, null, false).single().block().getResource();
        // Try to replace the existing doreplacedent
        Doreplacedent replacingDoreplacedent = new Doreplacedent(String.format("{ 'id': 'doc%s', 'counter': '%d', 'new-prop' : '2'}", createdDoreplacedent.id(), 1));
        Flux<ResourceResponse<Doreplacedent>> replaceDoreplacedentObservable = client.replaceDoreplacedent(getDoreplacedentLink(createdDoreplacedent), replacingDoreplacedent, null);
        List<ResourceResponse<Doreplacedent>> capturedResponse = Collections.synchronizedList(new ArrayList<>());
        replaceDoreplacedentObservable.subscribe(resourceResponse -> {
            capturedResponse.add(resourceResponse);
        });
        Thread.sleep(2000);
        replacedertThat(capturedResponse, hreplacedize(1));
        replacedertThat(capturedResponse.get(0).getResource().get("new-prop"), equalTo("2"));
    }

    /**
     * Upsert a doreplacedent
     */
    @Test(groups = "samples", timeOut = TIMEOUT)
    public void doreplacedentUpsert_Async() throws Exception {
        // CREATE a doreplacedent
        Doreplacedent doc = new Doreplacedent(String.format("{ 'id': 'doc%s', 'counter': '%d'}", UUID.randomUUID().toString(), 1));
        client.createDoreplacedent(getCollectionLink(), doc, null, false).single().block();
        // Upsert the existing doreplacedent
        Doreplacedent upsertingDoreplacedent = new Doreplacedent(String.format("{ 'id': 'doc%s', 'counter': '%d', 'new-prop' : '2'}", doc.id(), 1));
        Flux<ResourceResponse<Doreplacedent>> upsertDoreplacedentObservable = client.upsertDoreplacedent(getCollectionLink(), upsertingDoreplacedent, null, false);
        List<ResourceResponse<Doreplacedent>> capturedResponse = Collections.synchronizedList(new ArrayList<>());
        upsertDoreplacedentObservable.subscribe(resourceResponse -> {
            capturedResponse.add(resourceResponse);
        });
        Thread.sleep(4000);
        replacedertThat(capturedResponse, hreplacedize(1));
        replacedertThat(capturedResponse.get(0).getResource().get("new-prop"), equalTo("2"));
    }

    /**
     * DELETE a doreplacedent
     */
    @Test(groups = "samples", timeOut = TIMEOUT)
    public void doreplacedentDelete_Async() throws Exception {
        // CREATE a doreplacedent
        Doreplacedent createdDoreplacedent = new Doreplacedent(String.format("{ 'id': 'doc%s', 'counter': '%d', 'mypk' : '%s'}", UUID.randomUUID().toString(), 1, UUID.randomUUID().toString()));
        createdDoreplacedent = client.createDoreplacedent(getCollectionLink(), createdDoreplacedent, null, false).single().block().getResource();
        RequestOptions options = new RequestOptions();
        options.setParreplacedionKey(new ParreplacedionKey(createdDoreplacedent.getString("mypk")));
        // DELETE the existing doreplacedent
        Flux<ResourceResponse<Doreplacedent>> deleteDoreplacedentObservable = client.deleteDoreplacedent(getDoreplacedentLink(createdDoreplacedent), options);
        List<ResourceResponse<Doreplacedent>> capturedResponse = Collections.synchronizedList(new ArrayList<>());
        deleteDoreplacedentObservable.subscribe(resourceResponse -> {
            capturedResponse.add(resourceResponse);
        });
        Thread.sleep(2000);
        replacedertThat(capturedResponse, hreplacedize(1));
        // replacedert doreplacedent is deleted
        FeedOptions queryOptions = new FeedOptions();
        queryOptions.enableCrossParreplacedionQuery(true);
        List<Doreplacedent> listOfDoreplacedents = client.queryDoreplacedents(getCollectionLink(), String.format("SELECT * FROM r where r.id = '%s'", createdDoreplacedent.id()), queryOptions).map(// Map page to its list of doreplacedents
        FeedResponse::results).concatMap(// Flatten the observable
        Flux::fromIterable).collectList().single().block();
        // replacedert that there is no doreplacedent found
        replacedertThat(listOfDoreplacedents, hreplacedize(0));
    }

    /**
     * READ a doreplacedent
     */
    @Test(groups = "samples", timeOut = TIMEOUT)
    public void doreplacedentRead_Async() throws Exception {
        // CREATE a doreplacedent
        Doreplacedent createdDoreplacedent = new Doreplacedent(String.format("{ 'id': 'doc%s', 'counter': '%d', 'mypk' : '%s'}", UUID.randomUUID().toString(), 1, UUID.randomUUID().toString()));
        createdDoreplacedent = client.createDoreplacedent(getCollectionLink(), createdDoreplacedent, null, false).single().block().getResource();
        // READ the doreplacedent
        RequestOptions options = new RequestOptions();
        options.setParreplacedionKey(new ParreplacedionKey(createdDoreplacedent.getString("mypk")));
        Flux<ResourceResponse<Doreplacedent>> readDoreplacedentObservable = client.readDoreplacedent(getDoreplacedentLink(createdDoreplacedent), options);
        List<ResourceResponse<Doreplacedent>> capturedResponse = Collections.synchronizedList(new ArrayList<>());
        readDoreplacedentObservable.subscribe(resourceResponse -> {
            capturedResponse.add(resourceResponse);
        });
        Thread.sleep(2000);
        // replacedert doreplacedent is retrieved
        replacedertThat(capturedResponse, hreplacedize(1));
    }

    private static clreplaced TestObject {

        @JsonProperty("mypk")
        private String mypk;

        @JsonProperty("id")
        private String id;

        @JsonProperty("prop")
        private String prop;
    }

    @Test(groups = { "samples" }, timeOut = TIMEOUT)
    public void customSerialization() throws Exception {
        ObjectMapper mapper = new ObjectMapper();
        mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
        mapper.configure(JsonParser.Feature.STRICT_DUPLICATE_DETECTION, true);
        TestObject testObject = new TestObject();
        testObject.id = UUID.randomUUID().toString();
        testObject.mypk = UUID.randomUUID().toString();
        testObject.prop = UUID.randomUUID().toString();
        String itemAsJsonString = mapper.writeValuereplacedtring(testObject);
        Doreplacedent doc = new Doreplacedent(itemAsJsonString);
        Doreplacedent createdDoreplacedent = client.createDoreplacedent(getCollectionLink(), doc, null, false).single().block().getResource();
        RequestOptions options = new RequestOptions();
        options.setParreplacedionKey(new ParreplacedionKey(testObject.mypk));
        Doreplacedent readDoreplacedent = client.readDoreplacedent(createdDoreplacedent.selfLink(), options).single().block().getResource();
        TestObject readObject = mapper.readValue(readDoreplacedent.toJson(), TestObject.clreplaced);
        replacedertThat(readObject.prop, equalTo(testObject.prop));
    }

    /**
     * You can convert a Flux to a CompletableFuture.
     */
    @Test(groups = "samples", timeOut = TIMEOUT)
    public void transformObservableToCompletableFuture() throws Exception {
        Doreplacedent doc = new Doreplacedent(String.format("{ 'id': 'doc%d', 'counter': '%d'}", RandomUtils.nextInt(), 1));
        Flux<ResourceResponse<Doreplacedent>> createDoreplacedentObservable = client.createDoreplacedent(getCollectionLink(), doc, null, false);
        CompletableFuture<ResourceResponse<Doreplacedent>> listenableFuture = createDoreplacedentObservable.single().toFuture();
        ResourceResponse<Doreplacedent> rrd = listenableFuture.get();
        replacedertThat(rrd.getRequestCharge(), greaterThan((double) 0));
        System.out.print(rrd.getRequestCharge());
    }

    private String getCollectionLink() {
        return "dbs/" + createdDatabase.id() + "/colls/" + createdCollection.id();
    }

    private String getDoreplacedentLink(Doreplacedent createdDoreplacedent) {
        return "dbs/" + createdDatabase.id() + "/colls/" + createdCollection.id() + "/docs/" + createdDoreplacedent.id();
    }
}

18 View Complete Implementation : ConsistencyTests1.java
Copyright MIT License
Author : Azure
// FIXME test is flaky
@Ignore
@Test(groups = { "direct" }, timeOut = CONSISTENCY_TEST_TIMEOUT)
public void validateStrongConsistencyOnAsyncReplicationGW() throws InterruptedException {
    validateStrongConsistencyOnAsyncReplication(true);
}

18 View Complete Implementation : ConsistencyTests1.java
Copyright MIT License
Author : Azure
// FIXME test is flaky
@Ignore
@Test(groups = { "direct" }, timeOut = CONSISTENCY_TEST_TIMEOUT)
public void validateStrongConsistencyOnAsyncReplicationDirect() throws InterruptedException {
    validateStrongConsistencyOnAsyncReplication(false);
}

18 View Complete Implementation : ConsistencyTests1.java
Copyright MIT License
Author : Azure
// FIXME: test is flaky, fails inconsistently
@Ignore
@Test(groups = { "direct" }, timeOut = CONSISTENCY_TEST_TIMEOUT)
public void validateSessionContainerAfterCollectionCreateReplace() {
    // TODO Need to test with TCP protocol
    // https://msdata.visualstudio.com/CosmosDB/_workitems/edit/355057
    // validateSessionContainerAfterCollectionCreateReplace(false, Protocol.TCP);
    validateSessionContainerAfterCollectionCreateReplace(false);
    validateSessionContainerAfterCollectionCreateReplace(true);
}

17 View Complete Implementation : TestChannelsFromEvents.java
Copyright Apache License 2.0
Author : princesslana
@Ignore
private Channel simpleCreateChannel() {
    Channel channel = DataFaker.channel();
    events.onNext(ChannelCreateEvent.of(channel));
    return channel;
}

17 View Complete Implementation : TestChannelsFromEvents.java
Copyright Apache License 2.0
Author : princesslana
@Ignore
private Guild simpleCreateGuild() {
    Guild guild = DataFaker.guild();
    events.onNext(GuildCreateEvent.of(guild));
    return guild;
}

16 View Complete Implementation : ConsistencyTests1.java
Copyright MIT License
Author : Azure
// FIXME test is flaky
@Ignore
@Test(groups = { "direct" }, timeOut = CONSISTENCY_TEST_TIMEOUT)
public void validateConsistentPrefixOnAsyncReplication() throws InterruptedException {
    if (!(TestConfigurations.CONSISTENCY.equalsIgnoreCase(ConsistencyLevel.STRONG.toString()) || TestConfigurations.CONSISTENCY.equalsIgnoreCase(ConsistencyLevel.BOUNDED_STALENESS.toString()))) {
        throw new SkipException("Endpoint does not have strong consistency");
    }
    ConnectionPolicy connectionPolicy = new ConnectionPolicy();
    connectionPolicy.connectionMode(ConnectionMode.DIRECT);
    this.writeClient = (RxDoreplacedentClientImpl) new AsyncDoreplacedentClient.Builder().withServiceEndpoint(TestConfigurations.HOST).withMasterKeyOrResourceToken(TestConfigurations.MASTER_KEY).withConnectionPolicy(connectionPolicy).withConsistencyLevel(ConsistencyLevel.BOUNDED_STALENESS).build();
    this.readClient = (RxDoreplacedentClientImpl) new AsyncDoreplacedentClient.Builder().withServiceEndpoint(TestConfigurations.HOST).withMasterKeyOrResourceToken(TestConfigurations.MASTER_KEY).withConnectionPolicy(connectionPolicy).withConsistencyLevel(ConsistencyLevel.BOUNDED_STALENESS).build();
    Doreplacedent doreplacedentDefinition = getDoreplacedentDefinition();
    Doreplacedent doreplacedent = createDoreplacedent(this.initClient, createdDatabase.id(), createdCollection.id(), doreplacedentDefinition);
    boolean readLagging = validateConsistentPrefix(doreplacedent);
// replacedertThat(readLagging).isTrue(); //Will fail if batch repl is turned off
}

16 View Complete Implementation : ConsistencyTests1.java
Copyright MIT License
Author : Azure
// FIXME test is flaky
@Ignore
@Test(groups = { "direct" }, timeOut = CONSISTENCY_TEST_TIMEOUT)
public void validateConsistentPrefixOnSyncReplication() throws InterruptedException {
    if (!(TestConfigurations.CONSISTENCY.equalsIgnoreCase(ConsistencyLevel.STRONG.toString()) || TestConfigurations.CONSISTENCY.equalsIgnoreCase(ConsistencyLevel.BOUNDED_STALENESS.toString()))) {
        throw new SkipException("Endpoint does not have strong consistency");
    }
    ConnectionPolicy connectionPolicy = new ConnectionPolicy();
    connectionPolicy.connectionMode(ConnectionMode.GATEWAY);
    this.writeClient = (RxDoreplacedentClientImpl) new AsyncDoreplacedentClient.Builder().withServiceEndpoint(TestConfigurations.HOST).withMasterKeyOrResourceToken(TestConfigurations.MASTER_KEY).withConnectionPolicy(connectionPolicy).withConsistencyLevel(ConsistencyLevel.BOUNDED_STALENESS).build();
    this.readClient = (RxDoreplacedentClientImpl) new AsyncDoreplacedentClient.Builder().withServiceEndpoint(TestConfigurations.HOST).withMasterKeyOrResourceToken(TestConfigurations.MASTER_KEY).withConnectionPolicy(connectionPolicy).withConsistencyLevel(ConsistencyLevel.BOUNDED_STALENESS).build();
    User user = safeCreateUser(this.initClient, createdDatabase.id(), getUserDefinition());
    boolean readLagging = validateConsistentPrefix(user);
    replacedertThat(readLagging).isFalse();
}

16 View Complete Implementation : ConsistencyTests1.java
Copyright MIT License
Author : Azure
// FIXME test is flaky
@Ignore
@Test(groups = { "direct" }, timeOut = CONSISTENCY_TEST_TIMEOUT)
public void validateStrongConsistencyOnSyncReplication() throws Exception {
    if (!TestConfigurations.CONSISTENCY.equalsIgnoreCase(ConsistencyLevel.STRONG.toString())) {
        throw new SkipException("Endpoint does not have strong consistency");
    }
    ConnectionPolicy connectionPolicy = new ConnectionPolicy();
    connectionPolicy.connectionMode(ConnectionMode.GATEWAY);
    this.writeClient = (RxDoreplacedentClientImpl) new AsyncDoreplacedentClient.Builder().withServiceEndpoint(TestConfigurations.HOST).withMasterKeyOrResourceToken(TestConfigurations.MASTER_KEY).withConnectionPolicy(connectionPolicy).withConsistencyLevel(ConsistencyLevel.STRONG).build();
    this.readClient = (RxDoreplacedentClientImpl) new AsyncDoreplacedentClient.Builder().withServiceEndpoint(TestConfigurations.HOST).withMasterKeyOrResourceToken(TestConfigurations.MASTER_KEY).withConnectionPolicy(connectionPolicy).withConsistencyLevel(ConsistencyLevel.STRONG).build();
    User userDefinition = getUserDefinition();
    userDefinition.id(userDefinition.id() + "validateStrongConsistencyOnSyncReplication");
    User user = safeCreateUser(this.initClient, createdDatabase.id(), userDefinition);
    validateStrongConsistency(user);
}

16 View Complete Implementation : TokenResolverTest.java
Copyright MIT License
Author : Azure
// FIXME test is flaky
@Ignore
@Test(groups = { "simple" }, dataProvider = "connectionMode", timeOut = TIMEOUT)
public void writeDoreplacedentWithAllPermission(ConnectionMode connectionMode) {
    AsyncDoreplacedentClient asyncClientWithTokenResolver = null;
    try {
        asyncClientWithTokenResolver = buildClient(connectionMode, PermissionMode.ALL);
        Doreplacedent doreplacedentDefinition = getDoreplacedentDefinition();
        Flux<ResourceResponse<Doreplacedent>> readObservable = asyncClientWithTokenResolver.createDoreplacedent(createdCollection.selfLink(), doreplacedentDefinition, null, true);
        ResourceResponseValidator<Doreplacedent> validator = new ResourceResponseValidator.Builder<Doreplacedent>().withId(doreplacedentDefinition.id()).build();
        validateSuccess(readObservable, validator);
    } finally {
        safeClose(asyncClientWithTokenResolver);
    }
}

16 View Complete Implementation : GitLabIntegrationTest.java
Copyright GNU General Public License v2.0
Author : bozaro
/**
 * Test for #119.
 */
@Ignore
@Test
void gitlabMappingAsUser() throws Exception {
    final GitLabToken userToken = createToken(user, userPreplacedword, false);
    try (SvnTestServer server = createServer(userToken, dir -> new GitLabMappingConfig(dir, GitCreateMode.EMPTY))) {
        openSvnRepository(server, gitlabProject, root, rootPreplacedword).getLatestRevision();
    }
}

15 View Complete Implementation : JTACDITest.java
Copyright Apache License 2.0
Author : eclipse
/*
     * Start two concurrent asynchronous stages and verify that
     * a transaction scoped bean is updated twice.
     */
@Test
@Ignore
public void testConcurrentTransactionPropagation() {
    // create an executor that propagates the transaction context
    ManagedExecutor executor = createExecutor("testConcurrentTransactionPropagation");
    UserTransaction ut = getUserTransaction("testConcurrentTransactionPropagation");
    if (executor == null || ut == null) {
        // the implementation does not support transaction propagation
        return;
    }
    try {
        int result = transactionalService.testConcurrentTransactionPropagation(executor);
        if (result != UNSUPPORTED) {
            replacedert.replacedertEquals(2, result, "testTransactionPropagation failed%n");
        }
        verifyNoTransaction();
    } finally {
        executor.shutdownNow();
    }
}

15 View Complete Implementation : TestGuildsFromEvents.java
Copyright Apache License 2.0
Author : princesslana
@Ignore
private GuildMember simpleCreateGuildMember(Snowflake guildId) {
    GuildMember member = DataFaker.guildMember();
    events.onNext(GuildMemberAddEvent.of(new GuildMemberWithGuildId(guildId, member)));
    return member;
}

15 View Complete Implementation : TestGuildsFromEvents.java
Copyright Apache License 2.0
Author : princesslana
@Ignore
private Role simpleCreateRole(Snowflake guildId) {
    Role role = DataFaker.role();
    events.onNext(GuildRoleCreateEvent.of(ImmutableGuildRoleCreateEventData.builder().guildId(guildId).role(role).build()));
    return role;
}

14 View Complete Implementation : CosmosPartitionKeyTests.java
Copyright MIT License
Author : Azure
// FIXME test is flaky
@Ignore
@Test(groups = { "simple" })
public void testNonParreplacedionedCollectionOperations() throws Exception {
    createContainerWithoutPk();
    CosmosContainer createdContainer = createdDatabase.getContainer(NON_PARreplacedIONED_CONTAINER_ID);
    Mono<CosmosItemResponse> readMono = createdContainer.gereplacedem(NON_PARreplacedIONED_CONTAINER_DOCUEMNT_ID, ParreplacedionKey.None).read();
    CosmosResponseValidator<CosmosItemResponse> validator = new CosmosResponseValidator.Builder<CosmosItemResponse>().withId(NON_PARreplacedIONED_CONTAINER_DOCUEMNT_ID).build();
    validateSuccess(readMono, validator);
    String createdItemId = UUID.randomUUID().toString();
    Mono<CosmosItemResponse> createMono = createdContainer.createItem(new CosmosItemProperties("{'id':'" + createdItemId + "'}"));
    validator = new CosmosResponseValidator.Builder<CosmosItemResponse>().withId(createdItemId).build();
    validateSuccess(createMono, validator);
    readMono = createdContainer.gereplacedem(createdItemId, ParreplacedionKey.None).read();
    validator = new CosmosResponseValidator.Builder<CosmosItemResponse>().withId(createdItemId).build();
    validateSuccess(readMono, validator);
    CosmosItem itemToReplace = createdContainer.gereplacedem(createdItemId, ParreplacedionKey.None).read().block().item();
    CosmosItemProperties itemSettingsToReplace = itemToReplace.read().block().properties();
    String replacedItemId = UUID.randomUUID().toString();
    itemSettingsToReplace.id(replacedItemId);
    Mono<CosmosItemResponse> replaceMono = itemToReplace.replace(itemSettingsToReplace);
    validator = new CosmosResponseValidator.Builder<CosmosItemResponse>().withId(replacedItemId).build();
    validateSuccess(replaceMono, validator);
    String upsertedItemId = UUID.randomUUID().toString();
    Mono<CosmosItemResponse> upsertMono = createdContainer.upserreplacedem(new CosmosItemProperties("{'id':'" + upsertedItemId + "'}"));
    validator = new CosmosResponseValidator.Builder<CosmosItemResponse>().withId(upsertedItemId).build();
    validateSuccess(upsertMono, validator);
    // one doreplacedent was created during setup, one with create (which was replaced) and one with upsert
    FeedOptions feedOptions = new FeedOptions();
    feedOptions.parreplacedionKey(ParreplacedionKey.None);
    ArrayList<String> expectedIds = new ArrayList<String>();
    expectedIds.add(NON_PARreplacedIONED_CONTAINER_DOCUEMNT_ID);
    expectedIds.add(replacedItemId);
    expectedIds.add(upsertedItemId);
    Flux<FeedResponse<CosmosItemProperties>> queryFlux = createdContainer.queryItems("SELECT * from c", feedOptions);
    FeedResponseListValidator<CosmosItemProperties> queryValidator = new FeedResponseListValidator.Builder<CosmosItemProperties>().totalSize(3).numberOfPages(1).containsExactlyIds(expectedIds).build();
    validateQuerySuccess(queryFlux, queryValidator);
    queryFlux = createdContainer.readAllItems(feedOptions);
    queryValidator = new FeedResponseListValidator.Builder<CosmosItemProperties>().totalSize(3).numberOfPages(1).containsExactlyIds(expectedIds).build();
    validateQuerySuccess(queryFlux, queryValidator);
    String doreplacedentCreatedBySprocId = "testDoc";
    CosmosStoredProcedureProperties sproc = new CosmosStoredProcedureProperties("{" + "  'id': '" + UUID.randomUUID().toString() + "'," + "  'body':'" + "   function() {" + "   var client = getContext().getCollection();" + "   var doc = client.createDoreplacedent(client.getSelfLink(), { \\'id\\': \\'" + doreplacedentCreatedBySprocId + "\\'}, {}, function(err, docCreated, options) { " + "   if(err) throw new Error(\\'Error while creating doreplacedent: \\' + err.message);" + "   else {" + "   getContext().getResponse().setBody(1);" + "      }" + "    });" + "}'" + "}");
    CosmosStoredProcedure createdSproc = createdContainer.getScripts().createStoredProcedure(sproc).block().storedProcedure();
    // Parreplacedon Key value same as what is specified in the stored procedure body
    RequestOptions options = new RequestOptions();
    options.setParreplacedionKey(ParreplacedionKey.None);
    int result = Integer.parseInt(createdSproc.execute(null, new CosmosStoredProcedureRequestOptions()).block().responsereplacedtring());
    replacedertThat(result).isEqualTo(1);
    // 3 previous items + 1 created from the sproc
    expectedIds.add(doreplacedentCreatedBySprocId);
    queryFlux = createdContainer.readAllItems(feedOptions);
    queryValidator = new FeedResponseListValidator.Builder<CosmosItemProperties>().totalSize(4).numberOfPages(1).containsExactlyIds(expectedIds).build();
    validateQuerySuccess(queryFlux, queryValidator);
    Mono<CosmosItemResponse> deleteMono = createdContainer.gereplacedem(upsertedItemId, ParreplacedionKey.None).delete();
    validator = new CosmosResponseValidator.Builder<CosmosItemResponse>().nullResource().build();
    validateSuccess(deleteMono, validator);
    deleteMono = createdContainer.gereplacedem(replacedItemId, ParreplacedionKey.None).delete();
    validator = new CosmosResponseValidator.Builder<CosmosItemResponse>().nullResource().build();
    validateSuccess(deleteMono, validator);
    deleteMono = createdContainer.gereplacedem(NON_PARreplacedIONED_CONTAINER_DOCUEMNT_ID, ParreplacedionKey.None).delete();
    validator = new CosmosResponseValidator.Builder<CosmosItemResponse>().nullResource().build();
    validateSuccess(deleteMono, validator);
    deleteMono = createdContainer.gereplacedem(doreplacedentCreatedBySprocId, ParreplacedionKey.None).delete();
    validator = new CosmosResponseValidator.Builder<CosmosItemResponse>().nullResource().build();
    validateSuccess(deleteMono, validator);
    queryFlux = createdContainer.readAllItems(feedOptions);
    queryValidator = new FeedResponseListValidator.Builder<CosmosItemProperties>().totalSize(0).numberOfPages(1).build();
    validateQuerySuccess(queryFlux, queryValidator);
}

13 View Complete Implementation : GatewayAddressCacheTest.java
Copyright MIT License
Author : Azure
// FIXME times out inconsistently
@Ignore
@Test(groups = { "direct" }, timeOut = TIMEOUT)
public void tryGetAddresses_ForMasterParreplacedion_ForceRefresh() throws Exception {
    Configs configs = new Configs();
    HttpClientUnderTestWrapper clientWrapper = getHttpClientUnderTestWrapper(configs);
    URL serviceEndpoint = new URL(TestConfigurations.HOST);
    IAuthorizationTokenProvider authorizationTokenProvider = (RxDoreplacedentClientImpl) client;
    GatewayAddressCache cache = new GatewayAddressCache(serviceEndpoint, Protocol.HTTPS, authorizationTokenProvider, null, clientWrapper.getSpyHttpClient());
    RxDoreplacedentServiceRequest req = RxDoreplacedentServiceRequest.create(OperationType.Create, ResourceType.Database, "/dbs", new Database(), new HashMap<>());
    ParreplacedionKeyRangeIdenreplacedy parreplacedionKeyRangeIdenreplacedy = new ParreplacedionKeyRangeIdenreplacedy("M");
    // request master parreplacedion info to ensure it is cached.
    AddressInformation[] expectedAddresses = cache.tryGetAddresses(req, parreplacedionKeyRangeIdenreplacedy, false).block().v;
    replacedertThat(clientWrapper.capturedRequests).asList().hreplacedize(1);
    clientWrapper.capturedRequests.clear();
    Mono<Utils.ValueHolder<AddressInformation[]>> addressesObs = cache.tryGetAddresses(req, parreplacedionKeyRangeIdenreplacedy, true);
    AddressInformation[] actualAddresses = getSuccessResult(addressesObs, TIMEOUT).v;
    replacedertExactlyEqual(actualAddresses, expectedAddresses);
    // the cache address is used. no new http request is sent
    replacedertThat(clientWrapper.capturedRequests).asList().hreplacedize(1);
}

13 View Complete Implementation : StoredProcedureUpsertReplaceTest.java
Copyright MIT License
Author : Azure
// FIXME test times out inconsistently
@Ignore
@Test(groups = { "simple" }, timeOut = TIMEOUT)
public void executeStoredProcedure() throws Exception {
    // create a stored procedure
    CosmosStoredProcedureProperties storedProcedureDef = BridgeInternal.createCosmosStoredProcedureProperties("{" + "  'id': '" + UUID.randomUUID().toString() + "'," + "  'body':" + "    'function () {" + "      for (var i = 0; i < 10; i++) {" + "        getContext().getResponse().appendValue(\"Body\", i);" + "      }" + "    }'" + "}");
    CosmosStoredProcedure storedProcedure = null;
    storedProcedure = createdCollection.getScripts().createStoredProcedure(storedProcedureDef, new CosmosStoredProcedureRequestOptions()).block().storedProcedure();
    String result = null;
    CosmosStoredProcedureRequestOptions options = new CosmosStoredProcedureRequestOptions();
    options.parreplacedionKey(ParreplacedionKey.None);
    result = storedProcedure.execute(null, options).block().responsereplacedtring();
    replacedertThat(result).isEqualTo("\"0123456789\"");
}

12 View Complete Implementation : ModelConverterTest.java
Copyright Apache License 2.0
Author : swagger-api
@Test
@Ignore
public void directPropertiesRecognized() {
    final Map<String, Schema> models = ModelConverters.getInstance().read(AnnotatedBaseClreplaced.clreplaced);
    final Schema model = models.get("AnnotatedBaseClreplaced");
    replacedertNotNull(model);
    replacedertEquals(model.getName(), "AnnotatedBaseClreplaced");
    replacedertNotNull(model.getProperties());
    replacedertEquals(model.getProperties().size(), 1);
}

11 View Complete Implementation : DocumentCrudTest.java
Copyright MIT License
Author : Azure
// FIXME test is flaky
@Ignore
@Test(groups = { "simple" }, timeOut = TIMEOUT, dataProvider = "doreplacedentCrudArgProvider")
public void timestamp(String doreplacedentId) throws Exception {
    OffsetDateTime before = OffsetDateTime.now();
    CosmosItemProperties docDefinition = getDoreplacedentDefinition(doreplacedentId);
    Thread.sleep(1000);
    CosmosItem doreplacedent = container.createItem(docDefinition, new CosmosItemRequestOptions()).block().item();
    waitIfNeededForReplicasToCatchUp(clientBuilder());
    CosmosItemRequestOptions options = new CosmosItemRequestOptions();
    options.parreplacedionKey(new ParreplacedionKey(docDefinition.get("mypk")));
    CosmosItemProperties readDoreplacedent = doreplacedent.read(options).block().properties();
    Thread.sleep(1000);
    OffsetDateTime after = OffsetDateTime.now();
    replacedertThat(readDoreplacedent.timestamp()).isAfterOrEqualTo(before);
    replacedertThat(readDoreplacedent.timestamp()).isBeforeOrEqualTo(after);
}

10 View Complete Implementation : DCDocumentCrudTest.java
Copyright MIT License
Author : Azure
// FIXME: Times out
@Ignore
@Test(groups = { "direct" }, timeOut = QUERY_TIMEOUT)
public void crossParreplacedionQuery() {
    truncateCollection(createdCollection);
    waitIfNeededForReplicasToCatchUp(clientBuilder());
    client.getCapturedRequests().clear();
    int cnt = 1000;
    List<Doreplacedent> doreplacedentList = new ArrayList<>();
    for (int i = 0; i < cnt; i++) {
        Doreplacedent docDefinition = getDoreplacedentDefinition();
        doreplacedentList.add(docDefinition);
    }
    doreplacedentList = bulkInsert(client, getCollectionLink(), doreplacedentList).map(ResourceResponse::getResource).collectList().single().block();
    waitIfNeededForReplicasToCatchUp(clientBuilder());
    FeedOptions options = new FeedOptions();
    options.enableCrossParreplacedionQuery(true);
    options.maxDegreeOfParallelism(-1);
    options.maxItemCount(100);
    Flux<FeedResponse<Doreplacedent>> results = client.queryDoreplacedents(getCollectionLink(), "SELECT * FROM r", options);
    FeedResponseListValidator<Doreplacedent> validator = new FeedResponseListValidator.Builder<Doreplacedent>().totalSize(doreplacedentList.size()).exactlyContainsInAnyOrder(doreplacedentList.stream().map(Doreplacedent::resourceId).collect(Collectors.toList())).build();
    validateQuerySuccess(results, validator, QUERY_TIMEOUT);
    validateNoDoreplacedentQueryOperationThroughGateway();
    // validates only the first query for fetching query plan goes to gateway.
    replacedertThat(client.getCapturedRequests().stream().filter(r -> r.getResourceType() == ResourceType.Doreplacedent)).hreplacedize(1);
}

10 View Complete Implementation : TriggerCrudTest.java
Copyright MIT License
Author : Azure
// FIXME test is flaky
@Ignore
@Test(groups = { "simple" }, timeOut = TIMEOUT)
public void deleteTrigger() throws Exception {
    // create a trigger
    CosmosTriggerProperties trigger = new CosmosTriggerProperties();
    trigger.id(UUID.randomUUID().toString());
    trigger.body("function() {var x = 10;}");
    trigger.triggerOperation(TriggerOperation.CREATE);
    trigger.triggerType(TriggerType.PRE);
    CosmosTrigger readBackTrigger = createdCollection.getScripts().createTrigger(trigger).block().trigger();
    // delete trigger
    Mono<CosmosResponse> deleteObservable = readBackTrigger.delete();
    // validate delete trigger
    CosmosResponseValidator<CosmosResponse> validator = new CosmosResponseValidator.Builder<CosmosResponse>().nullResource().build();
    validateSuccess(deleteObservable, validator);
}

7 View Complete Implementation : ReplicatedResourceClientPartitionSplitTest.java
Copyright MIT License
Author : Azure
// FIXME test times out inconsistently
@Ignore
@Test(groups = { "unit" }, dataProvider = "parreplacedionIsSplittingArgProvider", timeOut = TIMEOUT)
public void parreplacedionSplit_RefreshCache_Read(ConsistencyLevel consistencyLevel, int parreplacedionIsSplitting) {
    URI secondary1AddressBeforeMove = URI.create("secondary");
    URI secondary1AddressAfterMove = URI.create("secondaryNew");
    URI primaryAddressBeforeMove = URI.create("primary");
    URI primaryAddressAfterMove = URI.create("primaryNew");
    String parreplacedionKeyRangeIdBeforeSplit = "1";
    String parreplacedionKeyRangeIdAfterSplit = "2";
    AddressSelectorWrapper addressSelectorWrapper = AddressSelectorWrapper.Builder.ReplicaMoveBuilder.create(Protocol.HTTPS).withPrimaryMove(primaryAddressBeforeMove, primaryAddressAfterMove).withSecondaryMove(secondary1AddressBeforeMove, secondary1AddressAfterMove).newParreplacedionKeyRangeIdOnRefresh(r -> parreplacedionKeyRangeWithId(parreplacedionKeyRangeIdAfterSplit)).build();
    long lsn = 54;
    long localLsn = 18;
    StoreResponse primaryResponse = StoreResponseBuilder.create().withLSN(lsn).withLocalLSN(localLsn).withHeader(WFConstants.BackendHeaders.QUORUM_ACKED_LOCAL_LSN, Long.toString(localLsn)).withHeader(WFConstants.BackendHeaders.CURRENT_REPLICA_SET_SIZE, parreplacedionKeyRangeIdAfterSplit).withRequestCharge(1.1).build();
    StoreResponse secondaryResponse1 = StoreResponseBuilder.create().withLSN(lsn).withLocalLSN(localLsn).withHeader(WFConstants.BackendHeaders.QUORUM_ACKED_LOCAL_LSN, Long.toString(localLsn)).withHeader(WFConstants.BackendHeaders.CURRENT_REPLICA_SET_SIZE, parreplacedionKeyRangeIdAfterSplit).withRequestCharge(1.1).build();
    TransportClientWrapper.Builder.UriToResultBuilder transportClientWrapperBuilder = TransportClientWrapper.Builder.uriToResultBuilder();
    ParreplacedionKeyRangeIsSplittingException splittingException = new ParreplacedionKeyRangeIsSplittingException();
    if (parreplacedionIsSplitting == Integer.MAX_VALUE) {
        transportClientWrapperBuilder.exceptionOn(primaryAddressBeforeMove, OperationType.Read, ResourceType.Doreplacedent, splittingException, true).exceptionOn(secondary1AddressBeforeMove, OperationType.Read, ResourceType.Doreplacedent, splittingException, true);
    } else {
        for (int i = 0; i < parreplacedionIsSplitting; i++) {
            transportClientWrapperBuilder.exceptionOn(primaryAddressBeforeMove, OperationType.Read, ResourceType.Doreplacedent, splittingException, false).exceptionOn(secondary1AddressBeforeMove, OperationType.Read, ResourceType.Doreplacedent, splittingException, false);
        }
    }
    GoneException goneException = new GoneException();
    transportClientWrapperBuilder.exceptionOn(primaryAddressBeforeMove, OperationType.Read, ResourceType.Doreplacedent, goneException, true).exceptionOn(secondary1AddressBeforeMove, OperationType.Read, ResourceType.Doreplacedent, goneException, true).storeResponseOn(primaryAddressAfterMove, OperationType.Read, ResourceType.Doreplacedent, secondaryResponse1, true).storeResponseOn(secondary1AddressAfterMove, OperationType.Read, ResourceType.Doreplacedent, primaryResponse, true);
    TransportClientWrapper transportClientWrapper = transportClientWrapperBuilder.build();
    GatewayServiceConfiguratorReaderMock gatewayServiceConfigurationReaderWrapper = GatewayServiceConfiguratorReaderMock.from(ConsistencyLevel.STRONG, 4, 3, 4, 3);
    SessionContainer sessionContainer = new SessionContainer("test");
    IAuthorizationTokenProvider authorizationTokenProvider = Mockito.mock(IAuthorizationTokenProvider.clreplaced);
    ReplicatedResourceClient resourceClient = new ReplicatedResourceClient(new Configs(), addressSelectorWrapper.addressSelector, sessionContainer, transportClientWrapper.transportClient, gatewayServiceConfigurationReaderWrapper.gatewayServiceConfigurationReader, authorizationTokenProvider, false, false);
    RxDoreplacedentServiceRequest request = RxDoreplacedentServiceRequest.createFromName(OperationType.Read, "/dbs/db/colls/col/docs/docId", ResourceType.Doreplacedent);
    request.requestContext = new DoreplacedentServiceRequestContext();
    request.requestContext.resolvedParreplacedionKeyRange = parreplacedionKeyRangeWithId(parreplacedionKeyRangeIdBeforeSplit);
    request.getHeaders().put(HttpConstants.HttpHeaders.CONSISTENCY_LEVEL, consistencyLevel.toString());
    Function<RxDoreplacedentServiceRequest, Mono<RxDoreplacedentServiceRequest>> prepareRequestAsyncDelegate = null;
    Mono<StoreResponse> storeResponseObs = resourceClient.invokeAsync(request, prepareRequestAsyncDelegate);
    if (parreplacedionIsSplitting < Integer.MAX_VALUE) {
        StoreResponseValidator validator = StoreResponseValidator.create().withBELSN(lsn).withRequestCharge(1.1).build();
        validateSuccess(storeResponseObs, validator);
        addressSelectorWrapper.verifyNumberOfForceCacheRefreshGreaterThanOrEqualTo(1);
    } else {
        FailureValidator validator = FailureValidator.builder().instanceOf(CosmosClientException.clreplaced).statusCode(503).build();
        validateFailure(storeResponseObs, validator, TIMEOUT);
    }
}