def test_pass_with_no_consumed(self): allocated = ResourceAggregate(numCpus=50.0, ramMb=1000, diskMb=3000) released = CapacityRequest(ResourceAggregate(numCpus=5.0, ramMb=100, diskMb=500)) acquired = CapacityRequest(ResourceAggregate(numCpus=15.0, ramMb=300, diskMb=800)) self.mock_get_quota(allocated, None) self.assert_result(True, released, acquired)
def test_fail(self): allocated = ResourceAggregate(numCpus=50.0, ramMb=1000, diskMb=3000) consumed = ResourceAggregate(numCpus=25.0, ramMb=500, diskMb=2000) released = CapacityRequest(ResourceAggregate(numCpus=5.0, ramMb=100, diskMb=500)) acquired = CapacityRequest(ResourceAggregate(numCpus=35.0, ramMb=300, diskMb=800)) self.mock_get_quota(allocated, consumed) self.assert_result(True, released, acquired, ResponseCode.INVALID_REQUEST)
def test_pass_due_to_released(self): allocated = ResourceAggregate(numCpus=50.0, ramMb=1000, diskMb=3000) consumed = ResourceAggregate(numCpus=45.0, ramMb=900, diskMb=2900) released = CapacityRequest(ResourceAggregate(numCpus=5.0, ramMb=100, diskMb=100)) acquired = CapacityRequest(ResourceAggregate(numCpus=10.0, ramMb=200, diskMb=200)) self.mock_get_quota(allocated, consumed) self.assert_result(True, released, acquired)
def test_additional_quota_out(self, mock_print_quota): allocated = ResourceAggregate(numCpus=50.0, ramMb=1000, diskMb=3000) consumed = ResourceAggregate(numCpus=45.0, ramMb=900, diskMb=2900) released = CapacityRequest(ResourceAggregate(numCpus=5.0, ramMb=100, diskMb=100)) acquired = CapacityRequest(ResourceAggregate(numCpus=11.0, ramMb=220, diskMb=200)) additional = ResourceAggregate(numCpus=1.0, ramMb=20, diskMb=0) self.mock_get_quota(allocated, consumed) self.assert_result(True, released, acquired, ResponseCode.INVALID_REQUEST) assert mock_print_quota.mock_calls[:4] == [ call(allocated, 'Total allocated quota', self._role), call(consumed, 'Consumed quota', self._role), call((acquired - released).quota(), 'Requested', self._name), call(additional, 'Additional quota required', self._role) ]
def expect_quota_check(self, num_released, num_acquired, response_code=ResponseCode.OK, prod=True): released = CapacityRequest(ResourceAggregate( numCpus=num_released * self._num_cpus, ramMb=num_released * self._num_ram, diskMb=num_released * self._num_disk)) acquired = CapacityRequest(ResourceAggregate( numCpus=num_acquired * self._num_cpus, ramMb=num_acquired * self._num_ram, diskMb=num_acquired * self._num_disk)) self._quota_check.validate_quota_from_requested( self._job_key, prod, released, acquired).AndReturn(make_response(response_code))
def expect_quota_check(self, num_released, num_acquired, response_code=None, prod=True): response_code = ResponseCode.OK if response_code is None else response_code response = Response(responseCode=response_code, messageDEPRECATED='test') released = CapacityRequest( ResourceAggregate(numCpus=num_released * self._num_cpus, ramMb=num_released * self._num_ram, diskMb=num_released * self._num_disk)) acquired = CapacityRequest( ResourceAggregate(numCpus=num_acquired * self._num_cpus, ramMb=num_acquired * self._num_ram, diskMb=num_acquired * self._num_disk)) self._quota_check.validate_quota_from_requested( self._job_key, prod, released, acquired).AndReturn(response)
def test_right_add(self): released = CapacityRequest(ResourceAggregate(numCpus=5.0, ramMb=100, diskMb=100)) # Testing __radd__ which is called when object on the ride side isn't our CapacityRequest # instance. out = 1 + released self.assertEqual(out, released)
def test_op_not_cap_request(self): released = CapacityRequest(ResourceAggregate(numCpus=5.0, ramMb=100, diskMb=100)) # Should return self so a noop. out = released._op('not_a_real_op', 'not_a_CapacityRequest_obj') self.assertEqual(out, released)