Esempio n. 1
0
def test_stress_cpu(mocked_command_run, mocked_init_client, mocked_instances,
                    mocked_vmss):
    # arrange mocks
    scale_set = vmss_provider.provide_scale_set()
    scale_sets = [scale_set]
    instance = vmss_provider.provide_instance()
    instances = [instance]
    mocked_vmss.return_value = scale_sets
    mocked_instances.return_value = instances

    configuration = config_provider.provide_default_config()
    secrets = secrets_provider.provide_secrets_via_service_principal()

    duration = 60

    client = MockComputeManagementClient()
    mocked_init_client.return_value = client

    # act
    stress_cpu(vmss_filter="where name=='some_random_instance'",
               duration=duration,
               configuration=configuration,
               secrets=secrets)

    # assert
    mocked_vmss.assert_called_with("where name=='some_random_instance'",
                                   configuration, secrets)
    mocked_instances.assert_called_with(scale_set, None,
                                        mocked_init_client.return_value)
    mocked_command_run.assert_called_with(scale_set['resourceGroup'],
                                          instance,
                                          parameters=ANY,
                                          client=client)
Esempio n. 2
0
def test_unhappily_fill_disk(mocked_command_run, mocked_command_prepare_path,
                             mocked_init_client, fetch_instances, fetch_vmss):
    # arrange mocks
    mocked_command_prepare_path.return_value = '/root/burn/hard'

    scale_set = vmss_provider.provide_scale_set()
    instance = vmss_provider.provide_instance()
    fetch_vmss.return_value = [scale_set]
    fetch_instances.return_value = [instance]

    configuration = config_provider.provide_default_config()
    secrets = secrets_provider.provide_secrets_via_service_principal()

    mocked_client = MockComputeManagementClient()
    mocked_init_client.return_value = mocked_client

    # act
    with pytest.raises(FailedActivity):
        fill_disk(vmss_filter="where name=='some_random_instance'",
                  duration=60,
                  size=1000,
                  path='/root/burn/hard',
                  configuration=configuration,
                  secrets=secrets)

    # assert
    fetch_vmss.assert_called_with("where name=='some_random_instance'",
                                  configuration, secrets)
    fetch_instances.assert_called_with(scale_set, None,
                                       mocked_init_client.return_value)
Esempio n. 3
0
def test_fill_disk(mocked_command_run, mocked_command_prepare_path,
                   mocked_init_client, fetch_instances, fetch_vmss):
    # arrange mocks
    mocked_command_prepare_path.return_value = '/root/burn/hard'

    scale_set = vmss_provider.provide_scale_set()
    instance = vmss_provider.provide_instance()
    fetch_vmss.return_value = [scale_set]
    fetch_instances.return_value = [instance]

    configuration = config_provider.provide_default_config()
    secrets = secrets_provider.provide_secrets_via_service_principal()

    mocked_client = MockComputeManagementClient()
    mocked_init_client.return_value = mocked_client

    duration = 60

    # act
    fill_disk(vmss_filter="where name=='some_random_instance'",
              duration=duration,
              size=1000,
              path='/root/burn/hard',
              configuration=configuration,
              secrets=secrets)

    # assert
    fetch_vmss.assert_called_with("where name=='some_random_instance'",
                                  configuration, secrets)
    fetch_instances.assert_called_with(scale_set, None,
                                       mocked_init_client.return_value)
    mocked_command_run.assert_called_with(scale_set['resourceGroup'],
                                          instance,
                                          parameters=ANY,
                                          client=mocked_client)
Esempio n. 4
0
def test_network_latency(mocked_command_run, mocked_init_client,
                         mocked_fetch_instances, mocked_fetch_vmss):
    # arrange mocks
    scale_set = vmss_provider.provide_scale_set()
    instance = vmss_provider.provide_instance()
    mocked_fetch_vmss.return_value = [scale_set]
    mocked_fetch_instances.return_value = [instance]

    configuration = config_provider.provide_default_config()
    secrets = secrets_provider.provide_secrets_via_service_principal()

    duration = 60

    mocked_client = MockComputeManagementClient()
    mocked_init_client.return_value = mocked_client

    # act
    network_latency(vmss_filter="where name=='some_random_instance'",
                    duration=duration,
                    delay=200,
                    jitter=50,
                    configuration=configuration,
                    secrets=secrets)

    # assert
    mocked_fetch_vmss.assert_called_with("where name=='some_random_instance'",
                                         configuration, secrets)
    mocked_fetch_instances.assert_called_with(scale_set, None,
                                              mocked_init_client.return_value)
    mocked_command_run.assert_called_with(scale_set['resourceGroup'],
                                          instance,
                                          parameters=ANY,
                                          client=mocked_client)
Esempio n. 5
0
def test_delete_vmss(client, fetch_instances, fetch_vmss):
    scale_set = vmss_provider.provide_scale_set()
    scale_sets = [scale_set]
    instance = vmss_provider.provide_instance()
    instances = [instance]
    fetch_vmss.return_value = scale_sets
    fetch_instances.return_value = instances

    client.return_value = MockComputeManagementClient()

    delete(None, None, None)
Esempio n. 6
0
def test_count_instances(mocked_client, mocked_fetch_vmss,
                         mocked_all_vmss_instances):

    # Arrange
    mocked_fetch_vmss.return_value = [vmss_provider.provide_scale_set()]
    mocked_all_vmss_instances.return_value = [vmss_provider.provide_instance()]

    mocked_client.return_value = MockComputeManagementClient()

    count = count_instances(None, None)

    assert count == 1
Esempio n. 7
0
def test_count_instances_for_two_sets(mocked_client, mocked_fetch_vmss,
                                      mocked_all_vmss_instances):

    # Arrange
    scale_sets = []
    scale_sets.append(vmss_provider.provide_scale_set())
    scale_sets.append(vmss_provider.provide_scale_set())
    mocked_fetch_vmss.return_value = scale_sets
    mocked_all_vmss_instances.return_value = [vmss_provider.provide_instance()]

    mocked_client.return_value = MockComputeManagementClient()

    count = count_instances(None, None)

    assert count == 2