コード例 #1
0
ファイル: handlers_test.py プロジェクト: rkornmeyer/upvote
  def testSuccess(self):
    computer = api.Computer(
        name='fake_name',
        connected=True,
        agent_version='v1',
        last_register_date=u'2014-05-02T09:01:01Z',
        has_health_check_errors=False,
        policy_name='fake_policy',
        agent_cache_size=16,
        initializing=True,
        init_percent=100)
    self._PatchApiRequests(computer)

    response = self.testapp.get('/somerequest', {'host_id': 12345})
    response_dict = json.loads(response.body)

    self.assertEqual('fake_name', response_dict[_HOST_HEALTH_PROPS.NAME])
    self.assertEqual(True, response_dict[_HOST_HEALTH_PROPS.CONNECTED])
    self.assertEqual(
        u'2014-05-02T09:01:01Z',
        response_dict[_HOST_HEALTH_PROPS.LAST_REGISTER_DATE])
    self.assertEqual('v1', response_dict[_HOST_HEALTH_PROPS.AGENT_VERSION])
    self.assertEqual(
        False, response_dict[_HOST_HEALTH_PROPS.HAS_HEALTH_CHECK_ERRORS])
    self.assertEqual(
        'fake_policy', response_dict[_HOST_HEALTH_PROPS.POLICY_NAME])
    self.assertEqual(16, response_dict[_HOST_HEALTH_PROPS.AGENT_CACHE_SIZE])
    self.assertEqual(True, response_dict[_HOST_HEALTH_PROPS.IS_INITIALIZING])
コード例 #2
0
    def testFailure_RetryAndSucceed(self):
        test_utils.CreateRuleChangeSet(
            self.binary.key,
            rule_keys=[self.local_rule.key],
            change_type=constants.RULE_POLICY.WHITELIST)

        fi = api.FileInstance(
            id=9012,
            file_catalog_id=int(self.binary.file_catalog_id),
            computer_id=int(self.local_rule.host_id),
            local_state=bit9_constants.APPROVAL_STATE.UNAPPROVED)
        computer = api.Computer(id=5678, sync_percent=90)
        computer.last_poll_date = datetime.datetime.utcnow()
        self._PatchApiRequests([], computer, [], computer, [], computer, [fi],
                               fi)

        change_set.CommitBlockableChangeSet(self.binary.key)

        expected_call = mock.call('POST',
                                  api_route='fileInstance',
                                  data={
                                      'id': 9012,
                                      'localState': 2,
                                      'fileCatalogId': 1234,
                                      'computerId': 5678
                                  },
                                  query_args=None)
        self.assertTrue(
            expected_call in utils.CONTEXT.ExecuteRequest.mock_calls)
コード例 #3
0
    def testFailure_ExceedRetryLimit(self):
        test_utils.CreateRuleChangeSet(
            self.binary.key,
            rule_keys=[self.local_rule.key],
            change_type=constants.RULE_POLICY.WHITELIST)

        computer = api.Computer(id=5678, sync_percent=90)
        computer.last_poll_date = datetime.datetime.utcnow()
        self._PatchApiRequests([], computer, [], computer, [], computer, [],
                               computer)

        with self.assertRaises(deferred.PermanentTaskFailure):
            change_set.CommitBlockableChangeSet(self.binary.key)
コード例 #4
0
ファイル: handlers_test.py プロジェクト: rkornmeyer/upvote
  def testMemoization(self):
    computer = api.Computer(
        name='fake_name',
        connected=True,
        agent_version='v1',
        last_register_date=u'2014-05-02T09:01:01Z',
        has_health_check_errors=False,
        policy_name='fake_policy',
        agent_cache_size=16,
        initializing=False,
        init_percent=100)
    self._PatchApiRequests(computer)

    self.testapp.get('/somerequest', {'host_id': 12345})
    self.testapp.get('/somerequest', {'host_id': 12345})

    self.assertEqual(1, utils.CONTEXT.ExecuteRequest.call_count)
コード例 #5
0
ファイル: handlers_test.py プロジェクト: rkornmeyer/upvote
  def testSuccess(self):
    user = test_utils.CreateUser(
        email='foobar@' + settings.USER_EMAIL_DOMAIN)
    computer = api.Computer(
        id=123, name='foo', policy_id=456,
        users=settings.AD_DOMAIN + '\\foobar')
    self._PatchApiRequests([computer])

    response = self.testapp.get('/%s' % user.key.id())

    self.assertSameElements(['123'], response.json)
    hosts = bit9_db.Bit9Host.query().fetch()
    self.assertEqual(1, len(hosts))
    host = hosts[0]
    self.assertEqual('123', host.key.id())
    self.assertEqual(utils.ExpandHostname('foo'), host.hostname)
    self.assertEqual(ndb.Key(bit9_db.Bit9Policy, '456'), host.policy_key)
    self.assertEqual(['foobar'], host.users)
コード例 #6
0
    def testWhitelist_GlobalRule(self):
        change = test_utils.CreateRuleChangeSet(
            self.binary.key,
            rule_keys=[self.global_rule.key],
            change_type=constants.RULE_POLICY.WHITELIST)
        self._PatchApiRequests(api.Computer(id=5678))

        change_set.CommitBlockableChangeSet(self.binary.key)

        utils.CONTEXT.ExecuteRequest.assert_has_calls([
            mock.call('POST',
                      api_route='fileRule',
                      data={
                          'fileCatalogId': 1234,
                          'fileState': 2
                      },
                      query_args=None)
        ])

        self.assertTrue(self.global_rule.key.get().is_committed)
        self.assertIsNone(change.key.get())
コード例 #7
0
    def testWhitelist_LocalRule_NotFulfilled(self):
        change = test_utils.CreateRuleChangeSet(
            self.binary.key,
            rule_keys=[self.local_rule.key],
            change_type=constants.RULE_POLICY.WHITELIST)
        computer = api.Computer(id=5678, sync_percent=100)
        computer.last_poll_date = datetime.datetime.utcnow()
        self._PatchApiRequests([], computer)

        change_set.CommitBlockableChangeSet(self.binary.key)

        utils.CONTEXT.ExecuteRequest.assert_has_calls([
            mock.call(
                'GET',
                api_route='fileInstance',
                query_args=[r'q=computerId:5678', 'q=fileCatalogId:1234'])
        ])

        self.assertIsNotNone(self.local_rule.key.get().is_fulfilled)
        self.assertFalse(self.local_rule.key.get().is_fulfilled)
        self.assertTrue(self.local_rule.key.get().is_committed)
        self.assertIsNone(change.key.get())