Ejemplo n.º 1
0
 def test_can_modify_ones_own_schedule(self, job_template, rando):
     job_template.execute_role.members.add(rando)
     schedule = Schedule.objects.create(unified_job_template=job_template,
                                        rrule=self.rrule,
                                        created_by=rando)
     access = ScheduleAccess(rando)
     assert access.can_change(schedule, {'rrule': self.rrule2})
Ejemplo n.º 2
0
 def test_move_schedule_from_JT_no_access(self, job_template, rando, jt2):
     schedule = Schedule.objects.create(unified_job_template=job_template,
                                        rrule=self.rrule)
     jt2.admin_role.members.add(rando)
     access = ScheduleAccess(rando)
     assert not access.can_change(schedule,
                                  data=dict(unified_job_template=jt2.pk))
Ejemplo n.º 3
0
def test_inventory_source_org_admin_schedule_access(org_admin,
                                                    inventory_source):
    schedule = Schedule.objects.create(
        unified_job_template=inventory_source,
        rrule='DTSTART:20151117T050000Z RRULE:FREQ=DAILY;INTERVAL=1;COUNT=1')
    access = ScheduleAccess(org_admin)
    assert access.get_queryset()
    assert access.can_read(schedule)
    assert access.can_change(schedule, {
        'rrule':
        'DTSTART:20151117T050000Z RRULE:FREQ=DAILY;INTERVAL=1;COUNT=2'
    })
Ejemplo n.º 4
0
 def test_prompts_access_checked(self, job_template, inventory, credential, rando):
     job_template.execute_role.members.add(rando)
     access = ScheduleAccess(rando)
     data = dict(
         unified_job_template=job_template,
         rrule=self.rrule,
         created_by=rando,
         inventory=inventory,
         credentials=[credential]
     )
     with mock.patch('awx.main.access.JobLaunchConfigAccess.can_add') as mock_add:
         mock_add.return_value = True
         assert access.can_add(data)
         mock_add.assert_called_once_with(data)
     data.pop('credentials')
     schedule = Schedule.objects.create(**data)
     with mock.patch('awx.main.access.JobLaunchConfigAccess.can_change') as mock_change:
         mock_change.return_value = True
         assert access.can_change(schedule, {'inventory': 42})
         mock_change.assert_called_once_with(schedule, {'inventory': 42})
Ejemplo n.º 5
0
 def test_can_create_schedule_with_execute(self, job_template, rando):
     job_template.execute_role.members.add(rando)
     access = ScheduleAccess(rando)
     assert access.can_add({'unified_job_template': job_template})