예제 #1
0
  /** Only submit one of two intents because one is too new. */
  @Test
  public void skipPoll() {
    IntentStoreDelegate mockDelegate =
        new IntentStoreDelegate() {
          @Override
          public void process(IntentData intentData) {
            intentData.setState(CORRUPT);
            store.write(intentData);
          }

          @Override
          public void notify(IntentEvent event) {}
        };
    store.setDelegate(mockDelegate);

    Intent intent = new MockIntent(1L);
    IntentData data = new IntentData(intent, INSTALL_REQ, null);
    store.addPending(data);

    Intent intent2 = new MockIntent(2L);
    Timestamp version = new SystemClockTimestamp(1L);
    data = new IntentData(intent2, INSTALL_REQ, version);
    store.addPending(data);

    cleanup.run();
    assertEquals("Expect number of submits incorrect", 1, service.submitCounter());
  }
예제 #2
0
  /** Verify resubmit in response to CORRUPT event. */
  @Test
  public void corruptEvent() {
    IntentStoreDelegate mockDelegate =
        new IntentStoreDelegate() {
          @Override
          public void process(IntentData intentData) {
            intentData.setState(CORRUPT);
            store.write(intentData);
          }

          @Override
          public void notify(IntentEvent event) {
            cleanup.event(event);
          }
        };
    store.setDelegate(mockDelegate);

    Intent intent = new MockIntent(1L);
    IntentData data = new IntentData(intent, INSTALL_REQ, null);

    store.addPending(data);
    assertEquals("Expect number of submits incorrect", 1, service.submitCounter());
  }