Search in sources :

Example 1 with Clock

use of com.google.appengine.tools.development.Clock in project appengine-java-standard by GoogleCloudPlatform.

the class LocalTaskQueueTest method testQueryAndOwnTasks.

@Test
public void testQueryAndOwnTasks() throws Exception {
    class MockClock implements Clock {

        @Override
        public long getCurrentTime() {
            // Force nowMillis of QueryAndOwnTasks is guaranteed to be bigger than task eta.
            return Clock.DEFAULT.getCurrentTime() + 1000;
        }
    }
    initLocalTaskQueue(new MockClock());
    TaskQueueBulkAddResponse sbresponse = localService.bulkAdd(new Status(), bulkAddPullRequest.build());
    assertThat(sbresponse).isEqualTo(expectedBulkAddResponse.build());
    TaskQueueQueryAndOwnTasksRequest request = TaskQueueQueryAndOwnTasksRequest.newBuilder().setQueueName(ByteString.copyFromUtf8("pull-queue")).setLeaseSeconds(10).setMaxTasks(5).build();
    TaskQueueQueryAndOwnTasksResponse response = localService.queryAndOwnTasks(new Status(), request);
    assertThat(response.getTaskCount()).isEqualTo(3);
    for (int i = 0; i < response.getTaskCount(); ++i) {
        assertThat(response.getTask(i).getTaskName().toStringUtf8()).isEqualTo("a-task-" + i);
        assertThat(response.getTask(i).getBody().toStringUtf8()).isEqualTo("payload" + i);
    }
}
Also used : Status(com.google.appengine.tools.development.LocalRpcService.Status) TaskQueueBulkAddResponse(com.google.appengine.api.taskqueue.TaskQueuePb.TaskQueueBulkAddResponse) TaskQueueQueryAndOwnTasksRequest(com.google.appengine.api.taskqueue.TaskQueuePb.TaskQueueQueryAndOwnTasksRequest) Clock(com.google.appengine.tools.development.Clock) TaskQueueQueryAndOwnTasksResponse(com.google.appengine.api.taskqueue.TaskQueuePb.TaskQueueQueryAndOwnTasksResponse) Test(org.junit.Test)

Example 2 with Clock

use of com.google.appengine.tools.development.Clock in project appengine-java-standard by GoogleCloudPlatform.

the class LocalTaskQueueTest method testEtaTooFarInTheFuture.

@Test
public void testEtaTooFarInTheFuture() {
    localService.stop();
    final long now = 100;
    long nowUsec = now * 1000;
    localService = LocalTaskQueueTestConfig.getLocalTaskQueue();
    Clock clock = new Clock() {

        @Override
        public long getCurrentTime() {
            return now;
        }
    };
    initLocalTaskQueue(clock);
    localService.start();
    // OK.
    addRequest1.setEtaUsec(LocalTaskQueue.getMaxEtaDeltaUsec());
    // Too distant.
    addRequest2.setEtaUsec(LocalTaskQueue.getMaxEtaDeltaUsec() + nowUsec + 1);
    // OK.
    addRequest3.setEtaUsec(LocalTaskQueue.getMaxEtaDeltaUsec() + nowUsec);
    assertValidationException(ErrorCode.INVALID_ETA);
}
Also used : Clock(com.google.appengine.tools.development.Clock) Test(org.junit.Test)

Example 3 with Clock

use of com.google.appengine.tools.development.Clock in project appengine-java-standard by GoogleCloudPlatform.

the class LocalTaskQueueTest method testExtendTaskLease.

@Test
public void testExtendTaskLease() throws Exception {
    // QueryAndOwn tasks first, same as testQueryAndOwnTasks above
    class MockClock implements Clock {

        @Override
        public long getCurrentTime() {
            // So that nowMillis of QueryAndOwnTasks is guaranteed to be bigger than task eta.
            return Clock.DEFAULT.getCurrentTime() + 1000;
        }
    }
    initLocalTaskQueue(new MockClock());
    TaskQueueBulkAddResponse sbresponse = localService.bulkAdd(new Status(), bulkAddPullRequest.build());
    assertThat(sbresponse).isEqualTo(expectedBulkAddResponse.build());
    TaskQueueQueryAndOwnTasksRequest request = TaskQueueQueryAndOwnTasksRequest.newBuilder().setQueueName(ByteString.copyFromUtf8("pull-queue")).setLeaseSeconds(60).setMaxTasks(5).build();
    TaskQueueQueryAndOwnTasksResponse response = localService.queryAndOwnTasks(new Status(), request);
    assertThat(response.getTaskCount()).isEqualTo(3);
    for (int i = 0; i < response.getTaskCount(); ++i) {
        TaskQueueModifyTaskLeaseRequest extendRequest = TaskQueueModifyTaskLeaseRequest.newBuilder().setQueueName(ByteString.copyFromUtf8("pull-queue")).setTaskName(response.getTask(i).getTaskName()).setEtaUsec(response.getTask(i).getEtaUsec()).setLeaseSeconds(300).build();
        TaskQueueModifyTaskLeaseResponse extendResponse = localService.modifyTaskLease(new Status(), extendRequest);
        assertThat(extendResponse.getUpdatedEtaUsec()).isGreaterThan(response.getTask(i).getEtaUsec());
    }
}
Also used : Status(com.google.appengine.tools.development.LocalRpcService.Status) TaskQueueModifyTaskLeaseResponse(com.google.appengine.api.taskqueue.TaskQueuePb.TaskQueueModifyTaskLeaseResponse) TaskQueueBulkAddResponse(com.google.appengine.api.taskqueue.TaskQueuePb.TaskQueueBulkAddResponse) TaskQueueQueryAndOwnTasksRequest(com.google.appengine.api.taskqueue.TaskQueuePb.TaskQueueQueryAndOwnTasksRequest) Clock(com.google.appengine.tools.development.Clock) TaskQueueModifyTaskLeaseRequest(com.google.appengine.api.taskqueue.TaskQueuePb.TaskQueueModifyTaskLeaseRequest) TaskQueueQueryAndOwnTasksResponse(com.google.appengine.api.taskqueue.TaskQueuePb.TaskQueueQueryAndOwnTasksResponse) Test(org.junit.Test)

Example 4 with Clock

use of com.google.appengine.tools.development.Clock in project appengine-java-standard by GoogleCloudPlatform.

the class LocalTaskQueueTest method testQueryAndOwnTasksWithUnspecifiedTag.

@Test
public void testQueryAndOwnTasksWithUnspecifiedTag() throws Exception {
    class MockClock implements Clock {

        @Override
        public long getCurrentTime() {
            // Force nowMillis of QueryAndOwnTasks is guaranteed to be bigger than task eta.
            return Clock.DEFAULT.getCurrentTime() + 1000;
        }
    }
    initLocalTaskQueue(new MockClock());
    TaskQueueBulkAddResponse sbresponse = localService.bulkAdd(new Status(), bulkAddPullRequest.build());
    assertThat(sbresponse).isEqualTo(expectedBulkAddResponse.build());
    TaskQueueQueryAndOwnTasksRequest request = TaskQueueQueryAndOwnTasksRequest.newBuilder().setQueueName(ByteString.copyFromUtf8("pull-queue")).setLeaseSeconds(10).setMaxTasks(5).setGroupByTag(true).build();
    TaskQueueQueryAndOwnTasksResponse response = localService.queryAndOwnTasks(new Status(), request);
    assertThat(response.getTaskCount()).isEqualTo(2);
    assertThat(response.getTask(0).getTaskName().toStringUtf8()).isEqualTo("a-task-0");
    assertThat(response.getTask(0).getBody().toStringUtf8()).isEqualTo("payload0");
    assertThat(response.getTask(0).getTag().toStringUtf8()).isEqualTo("tag");
    assertThat(response.getTask(1).getTaskName().toStringUtf8()).isEqualTo("a-task-2");
    assertThat(response.getTask(1).getBody().toStringUtf8()).isEqualTo("payload2");
    assertThat(response.getTask(1).getTag().toStringUtf8()).isEqualTo("tag");
}
Also used : Status(com.google.appengine.tools.development.LocalRpcService.Status) TaskQueueBulkAddResponse(com.google.appengine.api.taskqueue.TaskQueuePb.TaskQueueBulkAddResponse) TaskQueueQueryAndOwnTasksRequest(com.google.appengine.api.taskqueue.TaskQueuePb.TaskQueueQueryAndOwnTasksRequest) Clock(com.google.appengine.tools.development.Clock) TaskQueueQueryAndOwnTasksResponse(com.google.appengine.api.taskqueue.TaskQueuePb.TaskQueueQueryAndOwnTasksResponse) Test(org.junit.Test)

Example 5 with Clock

use of com.google.appengine.tools.development.Clock in project appengine-java-standard by GoogleCloudPlatform.

the class LocalTaskQueueTest method testQueryAndOwnTasksWithTags.

@Test
public void testQueryAndOwnTasksWithTags() throws Exception {
    class MockClock implements Clock {

        @Override
        public long getCurrentTime() {
            // Force nowMillis of QueryAndOwnTasks is guaranteed to be bigger than task eta.
            return Clock.DEFAULT.getCurrentTime() + 1000;
        }
    }
    initLocalTaskQueue(new MockClock());
    TaskQueueBulkAddResponse sbresponse = localService.bulkAdd(new Status(), bulkAddPullRequest.build());
    assertThat(sbresponse).isEqualTo(expectedBulkAddResponse.build());
    TaskQueueQueryAndOwnTasksRequest request = TaskQueueQueryAndOwnTasksRequest.newBuilder().setQueueName(ByteString.copyFromUtf8("pull-queue")).setLeaseSeconds(10).setMaxTasks(5).setGroupByTag(true).setTag(ByteString.copyFromUtf8("tag")).build();
    TaskQueueQueryAndOwnTasksResponse response = localService.queryAndOwnTasks(new Status(), request);
    assertThat(response.getTaskCount()).isEqualTo(2);
    assertThat(response.getTask(0).getTaskName().toStringUtf8()).isEqualTo("a-task-0");
    assertThat(response.getTask(0).getBody().toStringUtf8()).isEqualTo("payload0");
    assertThat(response.getTask(0).getTag().toStringUtf8()).isEqualTo("tag");
    assertThat(response.getTask(1).getTaskName().toStringUtf8()).isEqualTo("a-task-2");
    assertThat(response.getTask(1).getBody().toStringUtf8()).isEqualTo("payload2");
    assertThat(response.getTask(1).getTag().toStringUtf8()).isEqualTo("tag");
}
Also used : Status(com.google.appengine.tools.development.LocalRpcService.Status) TaskQueueBulkAddResponse(com.google.appengine.api.taskqueue.TaskQueuePb.TaskQueueBulkAddResponse) TaskQueueQueryAndOwnTasksRequest(com.google.appengine.api.taskqueue.TaskQueuePb.TaskQueueQueryAndOwnTasksRequest) Clock(com.google.appengine.tools.development.Clock) TaskQueueQueryAndOwnTasksResponse(com.google.appengine.api.taskqueue.TaskQueuePb.TaskQueueQueryAndOwnTasksResponse) Test(org.junit.Test)

Aggregations

Clock (com.google.appengine.tools.development.Clock)6 Test (org.junit.Test)5 TaskQueueBulkAddResponse (com.google.appengine.api.taskqueue.TaskQueuePb.TaskQueueBulkAddResponse)4 TaskQueueQueryAndOwnTasksRequest (com.google.appengine.api.taskqueue.TaskQueuePb.TaskQueueQueryAndOwnTasksRequest)4 TaskQueueQueryAndOwnTasksResponse (com.google.appengine.api.taskqueue.TaskQueuePb.TaskQueueQueryAndOwnTasksResponse)4 Status (com.google.appengine.tools.development.LocalRpcService.Status)4 BlobInfo (com.google.appengine.api.blobstore.BlobInfo)1 BlobKey (com.google.appengine.api.blobstore.BlobKey)1 TaskQueueModifyTaskLeaseRequest (com.google.appengine.api.taskqueue.TaskQueuePb.TaskQueueModifyTaskLeaseRequest)1 TaskQueueModifyTaskLeaseResponse (com.google.appengine.api.taskqueue.TaskQueuePb.TaskQueueModifyTaskLeaseResponse)1 ImmutableList (com.google.common.collect.ImmutableList)1 BufferedReader (java.io.BufferedReader)1 ByteArrayInputStream (java.io.ByteArrayInputStream)1 ByteArrayOutputStream (java.io.ByteArrayOutputStream)1 InputStream (java.io.InputStream)1 InputStreamReader (java.io.InputStreamReader)1 OutputStream (java.io.OutputStream)1 MessageDigest (java.security.MessageDigest)1 NoSuchAlgorithmException (java.security.NoSuchAlgorithmException)1 ArrayList (java.util.ArrayList)1