Example #1
0
  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)
Example #2
0
  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)
Example #3
0
  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)
Example #4
0
  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)
    ]
Example #5
0
  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))
Example #6
0
    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)
Example #7
0
 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)
Example #8
0
 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)