Example #1
0
    def run_test(self):
        """
        Common test path for all configs to test against
        :return:
        """
        print('Basic string operations using get/put/delete')
        resp = archive.put(userId=self.test_user_id, bucket=self.test_bucket_id, archiveid='document_1',
                           data=self.document_1)
        print(('Document 1 PUT: {}'.format(resp)))

        resp = archive.get(userId=self.test_user_id,    bucket=self.test_bucket_id, archiveid='document_1')
        self.assertEqual(self.document_1, resp)

        self.assertTrue(archive.exists(self.test_user_id, self.test_bucket_id, 'document_1'))
        self.assertFalse(archive.exists(self.test_user_id, self.test_bucket_id, 'document_10'))

        print('Document operations')
        resp = archive.put_document(userId=self.test_user_id, bucket=self.test_bucket_id, archiveId='document_json',
                                    data=self.document_json)
        print(('Document JSON PUT Doc: {}'.format(resp)))

        resp = archive.get_document(userId=self.test_user_id, bucket=self.test_bucket_id, archiveId='document_json')
        print(('Document JSON GET Dock: {}'.format(resp)))
        self.assertEqual(self.document_json, resp)

        print('Document operations')
        resp = archive.put_document(userId=self.test_user_id, bucket=self.test_bucket_id, archiveId='document_json',
                                    data=self.document_1)
        print(('Document string PUT Doc: {}'.format(resp)))

        resp = archive.get_document(userId=self.test_user_id, bucket=self.test_bucket_id, archiveId='document_json')
        print(('Document string GET Dock: {}'.format(resp)))
        self.assertEqual(self.document_1, resp)
Example #2
0
 def add_data(self):
     print('Adding data')
     for i in range(0, 100):
         archiveId = 'doc-{}'.format(i)
         print(('Adding document: {}'.format(archiveId)))
         archive.put_document(userId='test1',
                              bucket='testing',
                              archiveId=archiveId,
                              data='TESTINGBUCKETDATASMALL'.join(
                                  [str(x) for x in range(100)]))
Example #3
0
def save_policy(user_id, policyId, active, policy_bundle, dbsession):
    """
    Do the save, outside the context of an api call itself.


    :param user_id: str - requesting usera
    :param policyId: str - the id for policy
    :param active: boolean - is active or not
    :param policy_bundle: dict - bundle content
    :return:
    """

    try:
        if archive.put_document(user_id, 'policy_bundles', policyId, policy_bundle):
            rc = db_policybundle.update(policyId, user_id, active, policy_bundle, session=dbsession)
        else:
            rc = False
    except Exception as err:
        raise anchore_engine.common.helpers.make_anchore_exception(err,
                                                                   input_message="cannot add policy, failed to update archive/DB",
                                                                   input_httpcode=500)
    if not rc:
        raise Exception("DB update failed")
    else:
        if active:
            try:
                rc = db_policybundle.set_active_policy(policyId, user_id, session=dbsession)
            except Exception as err:
                raise Exception("could not set policy as active - exception: " + str(err))

        record = db_policybundle.get(user_id, policyId, session=dbsession)
        record['policybundle'] = policy_bundle

        return record