|
8 | 8 | import random
|
9 | 9 | from copy import deepcopy
|
10 | 10 | from typing import Any, AsyncIterator, Awaitable, Callable
|
11 |
| -from unittest import mock |
12 | 11 |
|
13 | 12 | import aiodocker
|
14 | 13 | import pytest
|
@@ -792,26 +791,42 @@ async def test_try_get_node_with_name_fake(
|
792 | 791 | assert received_node is None
|
793 | 792 |
|
794 | 793 |
|
795 |
| -@pytest.fixture |
796 |
| -async def mocked_docker_list_nodes( |
797 |
| - mocker: MockerFixture, create_fake_node: Callable[..., Node] |
798 |
| -) -> mock.Mock: |
| 794 | +async def test_find_node_with_name_with_common_prefixed_nodes( |
| 795 | + autoscaling_docker: AutoscalingDocker, |
| 796 | + mocker: MockerFixture, |
| 797 | + create_fake_node: Callable[..., Node], |
| 798 | +): |
799 | 799 | common_prefix = "ip-10-0-1-"
|
800 |
| - return mocker.patch( |
801 |
| - "simcore_service_autoscaling.utils.utils_docker.AutoscalingDocker.nodes.list", |
802 |
| - return_value=[ |
803 |
| - create_fake_node( |
804 |
| - Description=NodeDescription(Hostname=f"{common_prefix}{'1'*(i+1)}") |
805 |
| - ) |
806 |
| - for i in range(3) |
807 |
| - ], |
808 |
| - ) |
| 800 | + mocked_aiodocker = mocker.patch.object(autoscaling_docker, "nodes", autospec=True) |
| 801 | + mocked_aiodocker.list.return_value = [ |
| 802 | + create_fake_node( |
| 803 | + Description=NodeDescription(Hostname=f"{common_prefix}{'1'*(i+1)}") |
| 804 | + ) |
| 805 | + for i in range(3) |
| 806 | + ] |
| 807 | + needed_host_name = f"{common_prefix}11" |
| 808 | + found_node = await find_node_with_name(autoscaling_docker, needed_host_name) |
| 809 | + assert found_node |
| 810 | + assert found_node.Description |
| 811 | + assert found_node.Description.Hostname == needed_host_name |
809 | 812 |
|
810 | 813 |
|
811 |
| -async def test_find_node_with_name_with_common_prefixed_nodes( |
812 |
| - autoscaling_docker: AutoscalingDocker, mocked_docker_list_nodes: mock.Mock |
| 814 | +async def test_find_node_with_smaller_name_with_common_prefixed_nodes_returns_none( |
| 815 | + autoscaling_docker: AutoscalingDocker, |
| 816 | + mocker: MockerFixture, |
| 817 | + create_fake_node: Callable[..., Node], |
813 | 818 | ):
|
814 |
| - ... |
| 819 | + common_prefix = "ip-10-0-1-" |
| 820 | + mocked_aiodocker = mocker.patch.object(autoscaling_docker, "nodes", autospec=True) |
| 821 | + mocked_aiodocker.list.return_value = [ |
| 822 | + create_fake_node( |
| 823 | + Description=NodeDescription(Hostname=f"{common_prefix}{'1'*(i+1)}") |
| 824 | + ) |
| 825 | + for i in range(3) |
| 826 | + ] |
| 827 | + needed_host_name = f"{common_prefix}" |
| 828 | + found_node = await find_node_with_name(autoscaling_docker, needed_host_name) |
| 829 | + assert found_node is None |
815 | 830 |
|
816 | 831 |
|
817 | 832 | async def test_tag_node(
|
|
0 commit comments