def test_timer(cloudwatch):
    client = metrics.client("myregion", "mynamespace")
    with client.timer("mytimer"):
        time.sleep(0.1)

    cloudwatch.put_metric_data.assert_called()
    args, kwargs = cloudwatch.put_metric_data.call_args

    assert 0 < kwargs['value'] < 150
    assert kwargs['unit'] == "Milliseconds"
def test_timer(cloudwatch):
    client = metrics.client("myregion", "mynamespace")
    with client.timer("mytimer"):
        time.sleep(0.1)

    cloudwatch.put_metric_data.assert_called()
    args, kwargs = cloudwatch.put_metric_data.call_args

    assert 0 < kwargs['value'] < 150
    assert kwargs['unit'] == "Milliseconds"
def test_put_metric(cloudwatch):
    client = metrics.client("myregion", "mynamespace")
    client._put_metric("foo", 1, unit="Count")

    cloudwatch.put_metric_data.assert_called_with(namespace="mynamespace",
                                                  name="foo",
                                                  value=1,
                                                  timestamp=IsDatetime(),
                                                  unit="Count",
                                                  dimensions=dict(),
                                                  statistics=None)
def test_put_metric(cloudwatch):
    client = metrics.client("myregion", "mynamespace")
    client._put_metric("foo", 1, unit="Count")

    cloudwatch.put_metric_data.assert_called_with(
        namespace="mynamespace",
        name="foo",
        value=1,
        timestamp=IsDatetime(),
        unit="Count",
        dimensions=dict(),
        statistics=None)
def test_client_connects_to_region(connect_to_region):
    connect_to_region.return_value = "myconn"
    metrics.client("myregion", "mynamespace")

    connect_to_region.assert_called_with("myregion")
def test_client_default_dimensions_defaults_to_dict(cloudwatch):
    client = metrics.client("myregion", "mynamespace")

    assert client.default_dimensions == dict()
def test_client_connects_to_region(connect_to_region):
    connect_to_region.return_value = "myconn"
    metrics.client("myregion", "mynamespace")

    connect_to_region.assert_called_with("myregion")
def test_client_default_dimensions_defaults_to_dict(cloudwatch):
    client = metrics.client("myregion", "mynamespace")

    assert client.default_dimensions == dict()