Beispiel #1
0
    def test_024_check_queue_exists(self):
        """Checks if queue exists."""
        url = self.cfg.base_url + '/queues/qtestqueue'
        http.put(url, self.header)

        result = http.get(url, self.header)
        self.assertEqual(result.status_code, 204)

        result = http.head(url, self.header)
        self.assertEqual(result.status_code, 204)
Beispiel #2
0
    def test_016_queue_insert_metadata_size65535(self):
        """Updates Queue with metadata_size = 65535."""
        url = self.cfg.base_url + '/queues/qtestqueue'
        result = http.put(url, self.header)

        url = self.cfg.base_url + '/queues/qtestqueue/metadata'
        doc = functionlib.get_custom_body({"metadatasize": 65535})
        result = http.put(url, self.header, doc)

        self.assertEqual(result.status_code, 204)

        result = http.get(url, self.header)
        self.assertEqual(result.status_code, 200)
        self.assertEqual(result.json(), json.loads(doc))
Beispiel #3
0
    def test_008_insert_queue_nonASCII_name(self):
        """Insert Queue with non ASCII name."""
        url = self.cfg.base_url + '/queues/汉字漢字'
        doc = '{"queue": "non ASCII name"}'

        result = http.put(url, self.header, doc)
        self.assertEqual(result.status_code, 400)
Beispiel #4
0
    def test_020_queue_insert_metadata_invalidchar(self):
        """Update Queues with invalid char in metadata."""
        url = self.cfg.base_url + '/queues/qtestqueue'
        doc = '{"queue": "#$%^&Apple"}'
        result = http.put(url, self.header, doc)

        self.assertEqual(result.status_code, 400)
Beispiel #5
0
    def test_016_queue_insert_long_queuename(self):
        """Insert queue with name > 64 bytes."""
        url = self.cfg.base_url + queuefnlib.get_queue_name()
        doc = '{"queue": "Longer than allowed queue name"}'
        result = http.put(url, self.header, doc)

        self.assertEqual(result.status_code, 400)
Beispiel #6
0
    def test_015_queue_insert_nonASCII_metadata(self):
        """Insert Queue with non ASCII name."""
        url = self.cfg.base_url + '/queues/nonASCIImetadata'
        result = http.put(url, self.header)

        url = self.cfg.base_url + '/queues/nonASCIImetadata/metadata'
        doc = '{"汉字": "non ASCII metadata"}'
        result = http.put(url, self.header, doc)

        self.assertEqual(result.status_code, 204)

        result = http.get(url, self.header)
        self.assertEqual(result.status_code, 200)

        url = self.cfg.base_url + '/queues/nonASCIImetadata'
        result = http.delete(url, self.header)
Beispiel #7
0
    def test_018_queue_insert_metadata_size65537(self):
        """Updates Queue with metadata_size = 65537."""
        url = self.cfg.base_url + '/queues/qtestqueue/metadata'
        doc = functionlib.get_custom_body({"metadatasize": 65537})
        result = http.put(url, self.header, doc)

        self.assertEqual(result.status_code, 400)
Beispiel #8
0
    def test_004_insert_queue_invalid_authtoken(self):
        """Insert Queue with invalid authtoken."""
        url = self.cfg.base_url + '/queues/invalidauthtoken'
        header = functionlib.invalid_auth_token_header()

        result = http.put(url, header)
        self.assertEqual(result.status_code, 401)
Beispiel #9
0
    def test_000_message_setup(self):
        """Create Queue for Message Tests."""
        url = self.cfg.base_url + '/queues/messagetestqueue'
        doc = '{"queuemetadata": "message test queue"}'
        result = http.put(url, self.header, doc)

        self.assertEqual(result.status_code, 201)
Beispiel #10
0
    def test_010_insert_queue_hyphenated_queuename(self):
        """Insert queue with hyphen in name."""
        url = self.cfg.base_url + '/queues/hyphen-name'
        result = http.put(url, self.header)

        self.assertEqual(result.status_code, 201)

        http.delete(url, self.header)
Beispiel #11
0
    def test_013_queue_metadata_invalid_authtoken(self):
        """Update Queue with invalid authtoken."""
        url = self.cfg.base_url + '/queues/qtestqueue/metadata'
        header = functionlib.invalid_auth_token_header()
        doc = '{"queue": "invalid auth token"}'

        result = http.put(url, header, doc)
        self.assertEqual(result.status_code, 401)
Beispiel #12
0
    def test_014_queue_metadata_toplevel_underscore(self):
        """Insert Queue with underscore in toplevel field."""
        url = self.cfg.base_url + '/queues/toplevel'
        result = http.put(url, self.header)

        url = self.cfg.base_url + '/queues/toplevel/metadata'
        doc = '{"_queue": "Top Level field with _"}'

        result = http.put(url, self.header, doc)
        self.assertEqual(result.status_code, 204)

        result = http.get(url, self.header)
        self.assertEqual(result.status_code, 200)
        self.assertEqual(result.json(), json.loads(doc))

        url = self.cfg.base_url + '/queues/toplevel'
        http.delete(url, self.header)
Beispiel #13
0
    def test_002_insert_queue_case_insensitive(self):
        """Insert Queue with same name, different case."""
        url = self.cfg.base_url + '/queues/QteStquEue'

        result = http.put(url, self.header)
        self.assertEqual(result.status_code, 201)

        http.delete(url, self.header)
Beispiel #14
0
    def test_006_insert_queue_header_plaintext(self):
        """Insert Queue with 'Accept': 'plain/text'."""
        url = self.cfg.base_url + '/queues/plaintextheader'
        header = functionlib.plain_text_in_header()

        result = http.put(url, header)
        self.assertEqual(result.status_code, 406)

        http.delete(url, self.header)
Beispiel #15
0
    def test_005_insert_queue_missing_header(self):
        """Insert Queue with missing header field.

        Request has no Accept header.
        """
        header = functionlib.missing_header_fields()

        url = self.cfg.base_url + '/queues/missingheader'
        http.put(url, header)

        url = self.cfg.base_url + '/queues/missingheader/metadata'
        doc = '{"queue": "Missing Header"}'

        result = http.put(url, header, doc)
        self.assertEqual(result.status_code, 400)

        url = self.cfg.base_url + '/queues/missingheader'
        http.delete(url, self.header)
Beispiel #16
0
    def test_007_insert_queue_header_asterisk(self):
        """Insert Queue with 'Accept': '*/*'."""
        url = self.cfg.base_url + '/queues/asteriskinheader'
        header = functionlib.asterisk_in_header()

        result = http.put(url, header)
        self.assertEqual(result.status_code, 201)

        http.delete(url, self.header)
Beispiel #17
0
    def test_003_insert_queue_empty_json(self):
        """Update Queue with empty json."""
        url = self.cfg.base_url + '/queues/emptyjson'
        doc = '{}'

        result = http.put(url, self.header, doc)
        self.assertEqual(result.status_code, 201)

        http.delete(url, self.header)
Beispiel #18
0
    def test_008_queue_insert_toplevel_underscore(self):
        """Insert Queue with underscore in toplevel field."""
        url = self.cfg.base_url + '/queues/toplevel'
        doc = '{"_queue": "Top Level field with _"}'

        result = http.put(url, self.header, doc)
        self.assertEqual(result.status_code, 400)

        result = http.get(url, self.header)
        self.assertEqual(result.status_code, 404)
Beispiel #19
0
    def test_009_queue_insert_header_plaintext(self):
        """Insert Queue with 'Accept': 'plain/text'."""
        url = self.cfg.base_url + '/queues/plaintextheader'
        header = functionlib.plain_text_in_header()
        doc = '{"queue": "text/plain in header"}'

        result = http.put(url, header, doc)
        self.assertEqual(result.status_code, 406)

        result = http.get(url, self.header)
        self.assertEqual(result.status_code, 404)
Beispiel #20
0
    def test_014_queue_update_metadata_size4096(self):
        """Updates Queue with metadata_size = 4096."""
        url = self.cfg.base_url + '/queues/qtestqueue'
        doc = functionlib.get_custom_body({"metadatasize": 4096})
        result = http.put(url, self.header, doc)

        self.assertEqual(result.status_code, 204)

        result = http.get(url, self.header)
        self.assertEqual(result.status_code, 200)
        self.assertEqual(result.json(), json.loads(doc))
Beispiel #21
0
    def test_004_queue_update_empty_json(self):
        """Update Queue with empty json."""
        url = self.cfg.base_url + '/queues/qtestqueue'
        doc = '{}'

        result = http.put(url, self.header, doc)
        self.assertEqual(result.status_code, 204)

        result = http.get(url, self.header)
        self.assertEqual(result.status_code, 200)
        self.assertEqual(result.json(), json.loads(doc))
Beispiel #22
0
    def test_005_queue_insert_invalid_authtoken(self):
        """Insert Queue with invalid authtoken."""
        url = self.cfg.base_url + '/queues/invalidauthtoken'
        header = functionlib.invalid_auth_token_header()
        doc = '{"queue": "invalid auth token"}'

        result = http.put(url, header, doc)
        self.assertEqual(result.status_code, 401)

        result = http.get(url, self.header)
        self.assertEqual(result.status_code, 404)
Beispiel #23
0
    def test_003_queue_update_empty_metadata(self):
        """Update Queue with empty metadata."""
        url = self.cfg.base_url + '/queues/qtestqueue'
        doc_original = '{"queue": "Apple"}'
        doc = ''

        result = http.put(url, self.header, doc)
        self.assertEqual(result.status_code, 400)

        result = http.get(url, self.header)
        self.assertEqual(result.status_code, 200)
        self.assertEqual(result.json(), json.loads(doc_original))
Beispiel #24
0
    def test_000_claim_setup(self):
        """Create Queue, Post Messages for Claim Tests."""
        url = self.cfg.base_url + '/queues/claimtestqueue'

        result = http.put(url, self.header)
        self.assertEqual(result.status_code, 201)

        #Post Messages
        url = self.cfg.base_url + '/queues/claimtestqueue/messages'
        doc = msgfnlib.get_message_body(messagecount=50)
        for i in range(5):
            result = http.post(url, self.header, doc)
            self.assertEqual(result.status_code, 201)
Beispiel #25
0
    def test_006_queue_update_invalid_authtoken(self):
        """Update Queue with invalid authtoken."""
        url = self.cfg.base_url + '/queues/qtestqueue'
        header = functionlib.invalid_auth_token_header()
        doc = '{"queue": "invalid auth token"}'
        doc_original = '{}'

        result = http.put(url, header, doc)
        self.assertEqual(result.status_code, 401)

        result = http.get(url, self.header)
        self.assertEqual(result.status_code, 200)
        self.assertEqual(result.json(), json.loads(doc_original))
Beispiel #26
0
    def test_010_queue_insert_header_asterisk(self):
        """Insert Queue with 'Accept': '*/*'."""
        url = self.cfg.base_url + '/queues/asteriskinheader'
        header = functionlib.asterisk_in_header()
        doc = '{"queue": "*/* in header"}'

        result = http.put(url, header, doc)
        self.assertEqual(result.status_code, 201)

        result = http.get(url, self.header)
        self.assertEqual(result.status_code, 200)

        http.delete(url, self.header)
Beispiel #27
0
    def test_002_queue_insert_case_insensitive(self):
        """Insert Queue with same name, different case."""
        url = self.cfg.base_url + '/queues/QteStquEue'
        doc = '{"queue": "Orange"}'

        result = http.put(url, self.header, doc)
        self.assertEqual(result.status_code, 201)

        result = http.get(url, self.header)
        self.assertEqual(result.status_code, 200)
        self.assertEqual(result.json(), json.loads(doc))

        http.delete(url, self.header)
Beispiel #28
0
    def test_007_queue_insert_missing_header(self):
        """Insert Queue with missing header field.

        Request has no USER_AGENT & X-Project-Id headers.
        """
        url = self.cfg.base_url + '/queues/missingheader'
        header = functionlib.missing_header_fields()
        doc = '{"queue": "USER_AGENT header is missing"}'

        result = http.put(url, header, doc)
        self.assertEqual(result.status_code, 400)

        result = http.get(url, self.header)
        self.assertEqual(result.status_code, 404)
Beispiel #29
0
    def test_001_queue_insert(self):
        """Insert Queue.

        Creates Queue, does a get & verifies data.
        """
        url = self.cfg.base_url + '/queues/qtestqueue'
        doc = '{"queue": "Apple"}'
        result = http.put(url, self.header, doc)

        self.assertEqual(result.status_code, 201)

        result = http.get(url, self.header)
        self.assertEqual(result.status_code, 200)
        self.assertEqual(result.json(), json.loads(doc))
Beispiel #30
0
    def test_012_insert_queue_with_metadata(self):
        """Insert queue with a non-empty request body."""
        url = self.cfg.base_url + '/queues/hasmetadata'
        doc = '{"queue": "Has Metadata"}'
        result = http.put(url, self.header, doc)

        self.assertEqual(result.status_code, 201)

        url = self.cfg.base_url + '/queues/hasmetadata/metadata'
        result = http.get(url, self.header)
        self.assertEqual(result.status_code, 200)
        self.assertEqual(result.json(), {})

        url = self.cfg.base_url + '/queues/hasmetadata'
        http.delete(url, self.header)