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
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)