Merge "Add the report request"

This commit is contained in:
Jenkins
2014-08-21 00:41:35 +00:00
committed by Gerrit Code Review
3 changed files with 54 additions and 0 deletions

View File

@@ -0,0 +1,48 @@
# -*- coding: utf-8 -*-
# Copyright 2014 Objectif Libre
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
#
# @author: François Magimel (linkid)
"""
Tests for the manager report `cloudkittyclient.v1.report`.
"""
from cloudkittyclient.openstack.common.apiclient import fake_client
from cloudkittyclient.tests import base
from cloudkittyclient.v1 import client
from cloudkittyclient.v1 import report
fixtures = {
'/v1/report/total': {
'GET': (
{},
'10.0'
),
}
}
class ReportManagerTest(base.TestCase):
def setUp(self):
super(ReportManagerTest, self).setUp()
fake_http_client = fake_client.FakeHTTPClient(fixtures=fixtures)
api_client = client.Client(fake_http_client)
self.mgr = report.ReportManager(api_client)
def test_get(self):
_report = self.mgr.get()
self.assertIn('Report', repr(_report))
self.assertEqual(10.0, _report.total)

View File

@@ -20,6 +20,7 @@ OpenStack Client interface. Handles the REST calls and responses.
"""
from cloudkittyclient.openstack.common.apiclient import client
from cloudkittyclient.v1 import report
class Client(client.BaseClient):
@@ -28,3 +29,5 @@ class Client(client.BaseClient):
def __init__(self, http_client, extensions=None):
"""Initialize a new client for the Cloudkitty v1 API."""
super(Client, self).__init__(http_client, extensions)
self.report = report.ReportManager(self)

View File

@@ -53,4 +53,7 @@ class ReportManager(base.CrudManager):
return self.resource_class(self, body, loaded=True)
def get(self, **kwargs):
"""Get the amount to pay for the current month.
/v1/report/total
"""
return super(ReportManager, self).get(base_url='/v1', **kwargs)