/** * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You 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. */ package org.apache.camel.component.salesforce; import org.apache.camel.builder.RouteBuilder; import org.apache.camel.component.salesforce.api.dto.bulk.BatchInfo; import org.apache.camel.component.salesforce.api.dto.bulk.BatchStateEnum; import org.apache.camel.component.salesforce.api.dto.bulk.JobInfo; import org.junit.experimental.theories.Theories; import org.junit.runner.RunWith; @RunWith(Theories.class) public abstract class AbstractBulkApiTestBase extends AbstractSalesforceTestBase { protected JobInfo createJob(JobInfo jobInfo) { jobInfo = template().requestBody("direct:createJob", jobInfo, JobInfo.class); assertNotNull("Missing JobId", jobInfo.getId()); return jobInfo; } @Override protected RouteBuilder doCreateRouteBuilder() throws Exception { return new RouteBuilder() { @Override public void configure() throws Exception { // test createJob from("direct:createJob"). to("salesforce://createJob"); // test getJob from("direct:getJob"). to("salesforce:getJob"); // test closeJob from("direct:closeJob"). to("salesforce:closeJob"); // test abortJob from("direct:abortJob"). to("salesforce:abortJob"); // test createBatch from("direct:createBatch"). to("salesforce:createBatch"); // test getBatch from("direct:getBatch"). to("salesforce:getBatch"); // test getAllBatches from("direct:getAllBatches"). to("salesforce:getAllBatches"); // test getRequest from("direct:getRequest"). to("salesforce:getRequest"); // test getResults from("direct:getResults"). to("salesforce:getResults"); // test createBatchQuery from("direct:createBatchQuery"). to("salesforce:createBatchQuery?sObjectQuery=SELECT Name, Description__c, Price__c, Total_Inventory__c FROM Merchandise__c WHERE Name LIKE '%25Bulk API%25'"); // test getQueryResultIds from("direct:getQueryResultIds"). to("salesforce:getQueryResultIds"); // test getQueryResult from("direct:getQueryResult"). to("salesforce:getQueryResult"); } }; } protected boolean batchProcessed(BatchInfo batchInfo) { BatchStateEnum state = batchInfo.getState(); return !(state == BatchStateEnum.QUEUED || state == BatchStateEnum.IN_PROGRESS); } protected BatchInfo getBatchInfo(BatchInfo batchInfo) { batchInfo = template().requestBody("direct:getBatch", batchInfo, BatchInfo.class); assertNotNull("Null batch", batchInfo); assertNotNull("Null batch id", batchInfo.getId()); return batchInfo; } }