use of io.codekvast.common.customer.CustomerData in project codekvast by crispab.
the class IntakeIntegrationTest method should_accept_valid_getCustomerDataByExternalId_trialPeriodExpired.
@Test
@Sql(scripts = "/sql/base-data.sql")
public void should_accept_valid_getCustomerDataByExternalId_trialPeriodExpired() {
// see base-data.sql
Instant now = Instant.parse("2017-09-21T16:21:19Z").plus(1, DAYS);
CustomerData customerData = customerService.getCustomerDataByExternalId("test", "external-3");
assertThat(customerData.getCustomerId(), is(3L));
assertThat(customerData.isTrialPeriodExpired(now), is(true));
}
use of io.codekvast.common.customer.CustomerData in project codekvast by crispab.
the class IntakeIntegrationTest method should_accept_valid_getCustomerDataByLicenseKey.
@Test
@Sql(scripts = "/sql/base-data.sql")
public void should_accept_valid_getCustomerDataByLicenseKey() {
CustomerData customerData = customerService.getCustomerDataByLicenseKey("");
assertThat(customerData.getCustomerId(), is(1L));
assertThat(customerData.getCustomerName(), is("Demo"));
assertThat(customerData.getPricePlan().getName(), is("DEMO"));
}
use of io.codekvast.common.customer.CustomerData in project codekvast by crispab.
the class IntakeIntegrationTest method should_accept_valid_getCustomerDataByExternalId_without_pricePlanOverride.
@Test
@Sql(scripts = "/sql/base-data.sql")
public void should_accept_valid_getCustomerDataByExternalId_without_pricePlanOverride() {
CustomerData customerData = customerService.getCustomerDataByExternalId("test", "external-2");
assertThat(customerData.getCustomerId(), is(2L));
assertThat(customerData.getPricePlan().getOverrideBy(), nullValue());
assertThat(customerData.isTrialPeriodExpired(Instant.now()), is(false));
}
use of io.codekvast.common.customer.CustomerData in project codekvast by crispab.
the class DashboardServiceImpl method getStatus.
@Override
@Transactional(readOnly = true)
public GetStatusResponse getStatus() {
long startedAt = clock.millis();
Long customerId = customerIdProvider.getCustomerId();
CustomerData customerData = customerService.getCustomerDataByCustomerId(customerId);
PricePlan pricePlan = customerData.getPricePlan();
List<EnvironmentStatusDescriptor> environments = getEnvironments(customerId);
List<ApplicationDescriptor2> applications = getApplications(customerId, pricePlan);
List<AgentDescriptor> agents = getAgents(customerId, pricePlan.getPublishIntervalSeconds());
Instant now = clock.instant();
Instant collectionStartedAt = customerData.getCollectionStartedAt();
Instant trialPeriodEndsAt = customerData.getTrialPeriodEndsAt();
Duration trialPeriodDuration = collectionStartedAt == null || trialPeriodEndsAt == null ? null : Duration.between(collectionStartedAt, trialPeriodEndsAt);
Duration trialPeriodProgress = trialPeriodDuration == null ? null : Duration.between(collectionStartedAt, now);
Integer trialPeriodPercent = trialPeriodProgress == null ? null : Math.min(100, Math.toIntExact(trialPeriodProgress.toMillis() * 100L / trialPeriodDuration.toMillis()));
return GetStatusResponse.builder().timestamp(startedAt).queryTimeMillis(clock.millis() - startedAt).pricePlan(pricePlan.getName()).retentionPeriodDays(pricePlan.getRetentionPeriodDays()).collectionResolutionSeconds(pricePlan.getPublishIntervalSeconds()).maxNumberOfAgents(pricePlan.getMaxNumberOfAgents()).maxNumberOfMethods(pricePlan.getMaxMethods()).collectedSinceMillis(pricePlan.adjustInstantToMillis(collectionStartedAt, clock)).trialPeriodEndsAtMillis(trialPeriodEndsAt == null ? null : trialPeriodEndsAt.toEpochMilli()).trialPeriodExpired(customerData.isTrialPeriodExpired(now)).trialPeriodPercent(trialPeriodPercent).numMethods(customerService.countMethods(customerId)).numAgents(agents.size()).numLiveAgents((int) agents.stream().filter(AgentDescriptor::isAgentAlive).count()).numLiveEnabledAgents((int) agents.stream().filter(AgentDescriptor::isAgentLiveAndEnabled).count()).environments(environments).applications(applications).agents(agents).build();
}
use of io.codekvast.common.customer.CustomerData in project codekvast by crispab.
the class DashboardIntegrationTest method should_accept_valid_getCustomerDataByExternalId_trialPeriodExpired.
@Test
@Sql(scripts = "/sql/base-data.sql")
public void should_accept_valid_getCustomerDataByExternalId_trialPeriodExpired() {
// see base-data.sql
Instant now = Instant.parse("2017-09-21T16:21:19Z").plus(1, DAYS);
CustomerData customerData = customerService.getCustomerDataByExternalId("test", "external-3");
assertThat(customerData.getCustomerId(), is(3L));
assertThat(customerData.isTrialPeriodExpired(now), is(true));
}
Aggregations