def test_rate_delete(self): """Check state changing""" rat = rates.Rate( { 'id': str(uuid.uuid4()), 'description': str(uuid.uuid4()), 'metric_id': str(uuid.uuid4()), 'tariff_id': str(uuid.uuid4()), 'rate': long(random.randint(10**3, 10**10)), 'currency': rates.constants.CURRENCY_RUB, 'state': rates.constants.STATE_ACTIVE, 'time_create': int(time.time()), 'time_destroy': 0 } ) tariffs.add(tariffs.Tariff({'id':rat.tariff_id})) metrics.add(metrics.Metric({'id':rat.metric_id})) rates.add(rat) rat.set({'state': rates.constants.STATE_DELETED, 'time_destroy': int(time.time())}) with self.assertRaises(ValueError): rates.remove('','') rates.remove(rat.tariff_id, rat.metric_id) with database.DBConnect() as db: r1 = db.find_one('rates', {'id': rat.id}) self.assertEquals(rates.Rate(r1), rat)
def rateRemove(params): try: srv = zones.write_zone(params["tariff_id"]) if not srv["local"]: return jsonrpc.result({"status": "redirect", "server": srv["server"]}) rates.remove(params["tariff_id"], params["metric_id"]) except Exception, e: LOG.error(e) return jsonrpc.result_error("ServerError", {"status": "error", "message": "Unable to remove rate"})