Class MockBillingController

    • Constructor Detail

      • MockBillingController

        public MockBillingController​(Clock clock)
    • Method Detail

      • getPlan

        public PlanId getPlan​(com.yahoo.config.provision.TenantName tenant)
        Description copied from interface: BillingController
        Get the plan ID for the given tenant. This method will not fail if the tenant does not exist, it will return the default plan for that tenant instead.
        Specified by:
        getPlan in interface BillingController
      • tenantsWithPlan

        public List<com.yahoo.config.provision.TenantName> tenantsWithPlan​(List<com.yahoo.config.provision.TenantName> tenants,
                                                                           PlanId planId)
        Description copied from interface: BillingController
        Return the list of tenants with the given plan.
        Specified by:
        tenantsWithPlan in interface BillingController
        Parameters:
        tenants - All existing tenants in the system
        planId - The ID of the plan to filter existing tenants on.
        Returns:
        The tenants that have the given plan.
      • getQuota

        public Quota getQuota​(com.yahoo.config.provision.TenantName tenant)
        Description copied from interface: BillingController
        The quota for the given tenant. This method will return default quota for tenants that do not exist.
        Specified by:
        getQuota in interface BillingController
      • setPlan

        public PlanResult setPlan​(com.yahoo.config.provision.TenantName tenant,
                                  PlanId planId,
                                  boolean hasDeployments)
        Description copied from interface: BillingController
        Set the plan for the current tenant. Checks some pre-conditions to see if the tenant is eligible for the given plan.
        Specified by:
        setPlan in interface BillingController
        Parameters:
        tenant - The name of the tenant.
        planId - The ID of the plan to change to.
        hasDeployments - Does the tenant have active deployments.
        Returns:
        String containing error message if something went wrong. Empty otherwise
      • createBillForPeriod

        public Bill.Id createBillForPeriod​(com.yahoo.config.provision.TenantName tenant,
                                           ZonedDateTime startTime,
                                           ZonedDateTime endTime,
                                           String agent)
        Description copied from interface: BillingController
        Create a bill of unbilled use for the given tenant in the given time period.
        Specified by:
        createBillForPeriod in interface BillingController
        Parameters:
        tenant - The name of the tenant.
        startTime - The start of the billing period
        endTime - The end of the billing period
        agent - The agent that creates the bill
        Returns:
        The ID of the new bill.
      • createUncommittedBill

        public Bill createUncommittedBill​(com.yahoo.config.provision.TenantName tenant,
                                          LocalDate until)
        Description copied from interface: BillingController
        Create an unpersisted bill of unbilled use for the given tenant from the end of last bill until the given date. This is used to show "unbilled use" in the Console.
        Specified by:
        createUncommittedBill in interface BillingController
        Parameters:
        tenant - The name of the tenant.
        until - The end date of the unbilled use period.
        Returns:
        A bill with the resource use and cost.
      • deleteInstrument

        public boolean deleteInstrument​(com.yahoo.config.provision.TenantName tenant,
                                        String userId,
                                        String instrumentId)
        Description copied from interface: BillingController
        Delete a payment instrument from the list of the tenant's instruments
        Specified by:
        deleteInstrument in interface BillingController
      • deleteBillingInfo

        public void deleteBillingInfo​(com.yahoo.config.provision.TenantName tenant,
                                      Set<User> users,
                                      boolean isPrivileged)
        Description copied from interface: BillingController
        Delete billing contact information from the tenant
        Specified by:
        deleteBillingInfo in interface BillingController
      • addBill

        public void addBill​(com.yahoo.config.provision.TenantName tenantName,
                            Bill bill,
                            boolean committed)