Skip to main content

Mebula is a framework which you can use in your testing code to mock your calls to cloud providers’ APIs. At the moment, Oracle’s OCI, Google Cloud and Microsoft Azure are supported.

Installation

  • For Microsoft Azure, install the mebula[azure] package.

  • For Google Cloud, install the mebula[google] package.

  • For Oracle’s OCI, install the mebula[oracle] package.

Usage

Azure

You can use the mock_azure context manager and then use the Azure functions as normal:

from azure.common.client_factory import get_client_from_json_dict
from azure.mgmt.compute import ComputeManagementClient

from mebula.azure import mock_azure


def test_azure():
    with mock_azure():
        credential = DefaultAzureCredential()
        client = ComputeManagementClient(credential=credential, subscription_id="foo")

        assert list(client.virtual_machines.list("group")) == []

Google

You can use the mock_google context manager and then use the Google API functions as normal:

import googleapiclient.discovery

from mebula import mock_google


def test_google(client):
    with mock_google():
        client = googleapiclient.discovery.build("compute", "v1")

        assert client.instances().list(project="foo", zone="bar").execute() == {}

Oracle

You can use the mock_oracle context manager and then use the Oracle oci functions as normal:

import oci

from mebula.oracle import mock_oracle


def test_oracle():
    with mock_oracle():
        compute = oci.core.ComputeClient(config={})

        assert compute.list_instances("foo").data == []

Coverage

Coverage is very minimal at the moment. Only launching and listing instances is supported.

Release files for mebula 0.2.10

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for mebula 0.2.10
File Size Uploaded
mebula-0.2.10.tar.gz 12.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for mebula 0.2.10
File Interpreter ABI Platform
mebula-0.2.10-py3-none-any.whl Python 3 none any Details

Total release size: 26.6 kB

Release files / mebula-0.2.10.tar.gz

Download URL mebula-0.2.10.tar.gz
Size 12.1 kB
Tags Source
SHA-256 checksum
How to use checksums
7c98ef4e8039ab909f84d3ea91f35d6b37fe647ff6269ff881871338957898ff
BLAKE2b-256 checksum
How to use checksums
3be679ea949c2f8232c553965540f1a310c8189ba4c169a20c3f325c1d992a18
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.8.0 CPython/3.12.2 Linux/6.2.0-1019-azure

Release files / mebula-0.2.10-py3-none-any.whl

Download URL mebula-0.2.10-py3-none-any.whl
Size 14.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
af3b08aa1629df574538252aeba0a54c6fdade14a72ae25d9e42e7ae1a6bb74f
BLAKE2b-256 checksum
How to use checksums
4a6bb6d2644d4570c03173ff29558e98c2f5fc01876d67ad2479c1267d8e7e12
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.8.0 CPython/3.12.2 Linux/6.2.0-1019-azure

Release history Release notifications | RSS feed

This release

0.2.10 This release

2 release files

0.2.9

2 release files

0.2.8

2 release files

0.2.7

2 release files

0.2.6

2 release files

0.2.5

2 release files

0.2.4

2 release files

0.2.2

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page