john pfeiffer
  • Home
  • Categories
  • Tags
  • Archives

hipchat api examples

# -*- coding: utf-8 -*-
import pytest
import requests
import json
import time

base = 'https://api.hipchat.com/v1/'
auth_token_url_fragment = 'auth_token=daae1f1c59e06463a89cc64e-example'
ROOM_CREATE = 'rooms/create?'
USERS_LIST = 'users/list?'



class TestCreateRoom( object ):

# Positive Happy Path Tests

    def test_success( self ):
        parameters = { 'name': str( time.time() ) }
        response = requests.post( base + ROOM_CREATE + auth_token_url_fragment , params=parameters )
        print response.status_code
        print response.content

# Negative Error Tests

    def test_invalid_http_method_url( self ):
        """ {"error":{"code":400,"type":"Bad Request","message":"This method only accepts requests as GET, HEAD. You used POST."}} """
        response = requests.get( base + ROOM_CREATE + auth_token_url_fragment )
        error_body = json.loads( response.content )[ 'error' ]
        assert response.status_code == 400
        assert error_body[ 'code' ] == 400
        assert error_body[ 'type' ] == 'Bad Request'
        assert error_body[ 'message' ] == 'This method only accepts requests as POST, HEAD. You used GET.'

    def test_missing_name_parameter( self ):
        response = requests.post( base + ROOM_CREATE + auth_token_url_fragment )
        assert response.status_code == 400
        error_body = json.loads( response.content )[ 'error' ]
        assert error_body[ 'code' ] == 400
        assert error_body[ 'type' ] == 'Bad Request'
        assert error_body[ 'message' ] == 'Missing required parameter: name'

    def test_missing_owner_user_id_parameter( self ):
        parameters = { 'name': str( time.time() ) }
        response = requests.post( base + ROOM_CREATE + auth_token_url_fragment, params=parameters )
        assert response.status_code == 400
        error_body = json.loads( response.content )[ 'error' ]
        assert error_body[ 'code' ] == 400
        assert error_body[ 'type' ] == 'Bad Request'
        assert error_body[ 'message' ] == 'Missing required parameter: owner_user_id'


    def test_invalid_api_method_url( self ):
        response = requests.post( base + ROOM_CREATE[:-1] + auth_token_url_fragment )
        error_body = json.loads( response.content )[ 'error' ]
        assert response.status_code == 404
        assert error_body[ 'code' ] == 404
        assert error_body[ 'type' ] == 'Not Found'
        assert error_body[ 'message' ] == 'This Method was not found. Please see: https://www.hipchat.com/docs/api'







class TestListUsers( object ):

# Positive Happy Path Tests

    def test_success( self ):
        """
        """
        response = requests.get( base + USERS_LIST + auth_token_url_fragment )
        assert response.status_code == 200
        print response.content

# Negative Error Tests

    def test_invalid_api_method_url( self ):
        response = requests.get( base + USERS_LIST[:-1] + auth_token_url_fragment )
        assert response.status_code == 404
        error_body = json.loads( response.content )[ 'error' ]
        assert error_body[ 'code' ] == 404
        assert error_body[ 'type' ] == 'Not Found'
        assert error_body[ 'message' ] == 'This Method was not found. Please see: https://www.hipchat.com/docs/api'

  • « download url headers
  • google app engine urlfetch fix error No api proxy found for service urlfetch »

Published

May 26, 2013

Category

python

~255 words

Tags

  • api 3
  • examples 4
  • hipchat 1
  • python 180