Skip to content

Commit

Permalink
add integration tests for is_pro_enabled
Browse files Browse the repository at this point in the history
  • Loading branch information
linostar committed Sep 18, 2024
1 parent 02aa199 commit 5463297
Showing 1 changed file with 37 additions and 0 deletions.
37 changes: 37 additions & 0 deletions tests/integration/lxd/test_lxc.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,9 +15,11 @@
# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
#

import json
import pathlib
import subprocess
from datetime import datetime
from unittest.mock import patch

import pytest
from craft_providers.lxd import LXDError, lxd_instance_status
Expand All @@ -33,6 +35,17 @@ def instance(instance_name, session_project):
yield tmp_instance


@pytest.fixture
def instance_alma(instance_name, session_project):
with conftest.tmp_instance(
name=instance_name,
project=session_project,
image="almalinux/9",
image_remote="images",
) as tmp_instance:
yield tmp_instance


def test_launch_default_config(instance, lxc, session_project):
"""Verify default config values when launching."""
status = lxc.config_get(
Expand Down Expand Up @@ -271,3 +284,27 @@ def test_info(instance, lxc, session_project):
data = lxc.info(instance_name=instance, project=session_project)

assert data["Name"] == instance


def test_is_pro_enabled_ubuntu(instance, lxc, session_project):
"""Test the scenario where Pro client is installed."""
result = lxc.is_pro_enabled(
instance_name=instance,
project=session_project,
)

# Assert the instance is not Pro enabled
assert result is False


def test_is_pro_enabled_alma(instance_alma, lxc, session_project):
"""Test the scenario where Pro client is not installed."""
with pytest.raises(LXDError) as raised:
lxc.is_pro_enabled(
instance_name=instance_alma,
project=session_project,
)

assert raised.value.brief == (
f"Failed to run `pro` command on '{instance_alma.name}'"
)

0 comments on commit 5463297

Please sign in to comment.