Example #1
0
def sample_provider_rate(notify_db,
                         notify_db_session,
                         valid_from=None,
                         rate=None,
                         provider_identifier=None):
    create_provider_rates(
        provider_identifier=provider_identifier
        if provider_identifier is not None else 'mmg',
        valid_from=valid_from if valid_from is not None else datetime.utcnow(),
        rate=rate if rate is not None else 1,
    )
def test_create_provider_rates(notify_db, notify_db_session, mmg_provider):
    now = datetime.now()
    rate = Decimal("1.00000")

    provider = ProviderDetails.query.filter_by(identifier=mmg_provider.identifier).one()

    create_provider_rates(mmg_provider.identifier, now, rate)
    assert ProviderRates.query.count() == 1
    assert ProviderRates.query.first().rate == rate
    assert ProviderRates.query.first().valid_from == now
    assert ProviderRates.query.first().provider_id == provider.id
def test_create_provider_rates(notify_db, notify_db_session, ses_provider):
    now = datetime.now()
    rate = Decimal("1.00000")

    provider = ProviderDetails.query.filter_by(
        identifier=ses_provider.identifier).one()

    create_provider_rates(ses_provider.identifier, now, rate)
    assert ProviderRates.query.count() == 1
    assert ProviderRates.query.first().rate == rate
    assert ProviderRates.query.first().valid_from == now
    assert ProviderRates.query.first().provider_id == provider.id
Example #4
0
    def run(self, provider_name, cost, valid_from):
        if provider_name not in PROVIDERS:
            raise Exception("Invalid provider name, must be one of ({})".format(', '.join(PROVIDERS)))

        try:
            cost = Decimal(cost)
        except:
            raise Exception("Invalid cost value.")

        try:
            valid_from = datetime.strptime('%Y-%m-%dT%H:%M:%S', valid_from)
        except:
            raise Exception("Invalid valid_from date. Use the format %Y-%m-%dT%H:%M:%S")

        create_provider_rates(provider_name, valid_from, cost)
Example #5
0
def sample_provider_rate(notify_db, notify_db_session, valid_from=None, rate=None, provider_identifier=None):
    create_provider_rates(
        provider_identifier=provider_identifier if provider_identifier is not None else 'mmg',
        valid_from=valid_from if valid_from is not None else datetime.utcnow(),
        rate=rate if rate is not None else 1,
    )