Exemple #1
0
    def test_group_deployment_crossrg(self, resource_group, resource_group_cross):
        curr_dir = os.path.dirname(os.path.realpath(__file__))
        template_file = os.path.join(curr_dir, 'crossrg_deploy.json').replace('\\', '\\\\')
        deployment_name = self.create_random_name('azure-cli-crossrgdeployment', 40)
        storage_account_1 = create_random_name(prefix='crossrg')
        storage_account_2 = create_random_name(prefix='crossrg')

        self.cmd(
            'group deployment validate -g {} --template-file {} --parameters CrossRg={} StorageAccountName1={} StorageAccountName2={}'.format(
                resource_group, template_file, resource_group_cross, storage_account_1, storage_account_2), checks=[
                JCheck('properties.provisioningState', 'Succeeded')
            ])
        self.cmd('group deployment create -g {} -n {} --template-file {} --parameters CrossRg={}'.format(
            resource_group, deployment_name, template_file, resource_group_cross), checks=[
            JCheck('properties.provisioningState', 'Succeeded'),
            JCheck('resourceGroup', resource_group),
        ])
        self.cmd('group deployment list -g {}'.format(resource_group), checks=[
            JCheck('[0].name', deployment_name),
            JCheck('[0].resourceGroup', resource_group)
        ])
        self.cmd('group deployment show -g {} -n {}'.format(resource_group, deployment_name), checks=[
            JCheck('name', deployment_name),
            JCheck('resourceGroup', resource_group)
        ])
        self.cmd('group deployment operation list -g {} -n {}'.format(resource_group, deployment_name), checks=[
            JCheck('length([])', 3),
            JCheck('[0].resourceGroup', resource_group)
        ])
Exemple #2
0
    def test_group_deployment_crossrg(self, resource_group, resource_group_cross):
        curr_dir = os.path.dirname(os.path.realpath(__file__))

        self.kwargs.update({
            'rg1': resource_group,
            'rg2': resource_group_cross,
            'tf': os.path.join(curr_dir, 'crossrg_deploy.json').replace('\\', '\\\\'),
            'dn': self.create_random_name('azure-cli-crossrgdeployment', 40),
            'sa1': create_random_name(prefix='crossrg'),
            'sa2': create_random_name(prefix='crossrg')
        })

        self.cmd('group deployment validate -g {rg1} --template-file "{tf}" --parameters CrossRg={rg2} StorageAccountName1={sa1} StorageAccountName2={sa2}', checks=[
            self.check('properties.provisioningState', 'Succeeded')
        ])
        self.cmd('group deployment create -g {rg1} -n {dn} --template-file "{tf}" --parameters CrossRg={rg2}', checks=[
            self.check('properties.provisioningState', 'Succeeded'),
            self.check('resourceGroup', '{rg1}'),
        ])
        self.cmd('group deployment list -g {rg1}', checks=[
            self.check('[0].name', '{dn}'),
            self.check('[0].resourceGroup', '{rg1}')
        ])
        self.cmd('group deployment show -g {rg1} -n {dn}', checks=[
            self.check('name', '{dn}'),
            self.check('resourceGroup', '{rg1}')
        ])
        self.cmd('group deployment operation list -g {rg1} -n {dn}', checks=[
            self.check('length([])', 3),
            self.check('[0].resourceGroup', '{rg1}')
        ])
    def test_group_deployment_crossrg(self, resource_group, resource_group_cross):
        curr_dir = os.path.dirname(os.path.realpath(__file__))
        template_file = os.path.join(curr_dir, 'crossrg_deploy.json').replace('\\', '\\\\')
        deployment_name = self.create_random_name('azure-cli-crossrgdeployment', 40)
        storage_account_1 = create_random_name(prefix='crossrg')
        storage_account_2 = create_random_name(prefix='crossrg')

        self.cmd('group deployment validate -g {} --template-file {} --parameters CrossRg={} StorageAccountName1={} StorageAccountName2={}'.format(
            resource_group, template_file, resource_group_cross, storage_account_1, storage_account_2), checks=[
            JCheck('properties.provisioningState', 'Succeeded')
        ])
        self.cmd('group deployment create -g {} -n {} --template-file {} --parameters CrossRg={}'.format(
            resource_group, deployment_name, template_file, resource_group_cross), checks=[
            JCheck('properties.provisioningState', 'Succeeded'),
            JCheck('resourceGroup', resource_group),
        ])
        self.cmd('group deployment list -g {}'.format(resource_group), checks=[
            JCheck('[0].name', deployment_name),
            JCheck('[0].resourceGroup', resource_group)
        ])
        self.cmd('group deployment show -g {} -n {}'.format(resource_group, deployment_name), checks=[
            JCheck('name', deployment_name),
            JCheck('resourceGroup', resource_group)
        ])
        self.cmd('group deployment operation list -g {} -n {}'.format(resource_group, deployment_name), checks=[
            JCheck('length([])', 3),
            JCheck('[0].resourceGroup', resource_group)
        ])
Exemple #4
0
    def setUp(self):
        self.test_individual_detection = yaml.safe_load(
            Path(TEST_INDIVIDUAL_DETECTION_FILE).read_text()
        )
        self.test_folder_detections = [
            yaml.safe_load(file.read_text())
            for file in Path(TEST_VALID_DETECTIONS_FOLDER).glob("**/*.yaml")
        ]
        self.resource_provider = DEFAULT_RESOURCE_PROVIDER
        if self.in_recording:
            self.resource_group_name = create_random_name(TEST_RESOURCE_GROUP_PREFIX)
            self.workspace_name = create_random_name()

            self.cmd(
                CREATE_RESOURCE_GROUP_TEMPLATE.format(
                    TEST_LOCATION, self.resource_group_name
                )
            )
            self.cmd(
                CREATE_WORKSPACE_TEMPLATE.format(
                    self.resource_group_name,
                    str(TEST_WORKSPACE_TEMPLATE),
                    self.workspace_name,
                )
            )
        else:
            self.resource_group_name = RECORDED_RESOURCE_GROUP
            self.workspace_name = RECORDED_WORKSPACE_NAME
        super(ScenarioTest, self).setUp()
Exemple #5
0
    def test_group_deployment_crossrg(self, resource_group, resource_group_cross):
        curr_dir = os.path.dirname(os.path.realpath(__file__))

        self.kwargs.update({
            'rg1': resource_group,
            'rg2': resource_group_cross,
            'tf': os.path.join(curr_dir, 'crossrg_deploy.json').replace('\\', '\\\\'),
            'dn': self.create_random_name('azure-cli-crossrgdeployment', 40),
            'sa1': create_random_name(prefix='crossrg'),
            'sa2': create_random_name(prefix='crossrg')
        })

        self.cmd('group deployment validate -g {rg1} --template-file "{tf}" --parameters CrossRg={rg2} StorageAccountName1={sa1} StorageAccountName2={sa2}', checks=[
            self.check('properties.provisioningState', 'Succeeded')
        ])
        self.cmd('group deployment create -g {rg1} -n {dn} --template-file "{tf}" --parameters CrossRg={rg2}', checks=[
            self.check('properties.provisioningState', 'Succeeded'),
            self.check('resourceGroup', '{rg1}'),
        ])
        self.cmd('group deployment list -g {rg1}', checks=[
            self.check('[0].name', '{dn}'),
            self.check('[0].resourceGroup', '{rg1}')
        ])
        self.cmd('group deployment show -g {rg1} -n {dn}', checks=[
            self.check('name', '{dn}'),
            self.check('resourceGroup', '{rg1}')
        ])
        self.cmd('group deployment operation list -g {rg1} -n {dn}', checks=[
            self.check('length([])', 3),
            self.check('[0].resourceGroup', '{rg1}')
        ])
 def test_sentinel_detection_generate(self):
     detection_name = create_random_name()
     with tempfile.TemporaryDirectory() as generated_detections_folder:
         self.cmd(
             GENERATE_CMD_TEMPLATE.format(detection_name,
                                          generated_detections_folder))
         detection_file = (Path(generated_detections_folder) /
                           detection_name / (detection_name + '.yaml'))
         detection_documentation = (Path(generated_detections_folder) /
                                    detection_name /
                                    (detection_name + '.md'))
         generated_detection = yaml.safe_load(detection_file.read_text())
         self.assertEquals(generated_detection[DISPLAY_NAME_KEY],
                           detection_name)
         self.assertTrue(detection_documentation.exists())