Beispiel #1
0
class GetNumberInfoTestCases(unittest.TestCase):
    def setUp(self):
        self.bw_client = SHBandwidthClient(debug=ENABLE_BW_DEBUGGING)

    def tearDown(self):
        pass

    def test_phone_info(self):
        # get valid number
        numbers = self.bw_client.list_active_numbers(size=1)
        number = next(numbers)

        try:
            info = self.bw_client.get_number_info(number)
        except Exception as e:
            self.fail("Unexpected exception: {}".format(e))
        else:
            logging.info("number information: {}".format(info))

    def test_phoneinfo_invalid_number(self):
        self.assertRaises(ValueError,
                          self.bw_client.get_number_info,
                          'hello')

    def test_phoneinfo_notbw_number(self):
        self.assertRaises(BandwidthAccountAPIException,
                          self.bw_client.get_number_info,
                          '+19254797926')
Beispiel #2
0
class PhoneNumberInServiceTestCases(unittest.TestCase):
    INVALID_NUMBERS = [
        '',
        0,
        1234,
        34567,
        '89101112ab',
    ]
    NOT_BW_NUMBERS = ['+14087036579', '(408)703-6579']
    BW_NUMBERS = ['(833) 409-5439', '+18334095439']

    def setUp(self):
        self.bw_client = SHBandwidthClient()

    def tearDown(self):
        pass

    def test_invalid_numbers(self):
        for number in self.INVALID_NUMBERS:
            self.assertRaises(ValueError, self.bw_client.in_service, number)

    def test_not_bw_numbers(self):
        for number in self.NOT_BW_NUMBERS:
            self.assertFalse(self.bw_client.in_service(number))

    def test_bw_numbers(self):
        for number in self.BW_NUMBERS:
            self.assertTrue(self.bw_client.in_service(number))
Beispiel #3
0
class GetSiteInfoTestCases(unittest.TestCase):
    def setUp(self):
        self.bw_client = SHBandwidthClient()

    def tearDown(self):
        pass

    def test_siteid(self):
        # get valid number
        numbers = self.bw_client.list_active_numbers(size=1)
        number = next(numbers)

        try:
            siteinfo = self.bw_client.get_siteinfo_for_number(number)
        except Exception as e:
            self.fail("Unexpected exception: {}".format(e))
        else:
            logging.info("site information: {}".format(siteinfo))

    def test_siteid_invalid_number(self):
        self.assertRaises(ValueError,
                          self.bw_client.get_siteinfo_for_number,
                          'hello')

    def test_siteid_notbw_number(self):
        self.assertRaises(BandwidthAccountAPIException,
                          self.bw_client.get_siteinfo_for_number,
                          '+19254797926')
Beispiel #4
0
class GetSiteInfoTestCases(unittest.TestCase):
    def setUp(self):
        self.bw_client = SHBandwidthClient()

    def tearDown(self):
        pass

    def test_siteid(self):
        # get valid number
        numbers = self.bw_client.list_active_numbers(size=1)
        number = next(numbers)

        try:
            siteinfo = self.bw_client.get_siteinfo_for_number(number)
        except Exception as e:
            self.fail("Unexpected exception: {}".format(e))
        else:
            logging.info("site information: {}".format(siteinfo))

    def test_siteid_invalid_number(self):
        self.assertRaises(ValueError, self.bw_client.get_siteinfo_for_number,
                          'hello')

    def test_siteid_notbw_number(self):
        self.assertRaises(BandwidthAccountAPIException,
                          self.bw_client.get_siteinfo_for_number,
                          '+19254797926')
Beispiel #5
0
class GetNumberInfoTestCases(unittest.TestCase):
    def setUp(self):
        self.bw_client = SHBandwidthClient(debug=ENABLE_BW_DEBUGGING)

    def tearDown(self):
        pass

    def test_phone_info(self):
        # get valid number
        numbers = self.bw_client.list_active_numbers(size=1)
        number = next(numbers)

        try:
            info = self.bw_client.get_number_info(number)
        except Exception as e:
            self.fail("Unexpected exception: {}".format(e))
        else:
            logging.info("number information: {}".format(info))

    def test_phoneinfo_invalid_number(self):
        self.assertRaises(ValueError, self.bw_client.get_number_info, 'hello')

    def test_phoneinfo_notbw_number(self):
        self.assertRaises(BandwidthAccountAPIException,
                          self.bw_client.get_number_info, '+19254797926')
Beispiel #6
0
class BWMessagingTestCases(unittest.TestCase):
    # provide a valid BW number
    VALID_BW_NUMBER = '+18334095439'

    # this is test service, will respond with generic message
    VALID_TO_NUMBER = '+15072003115'
    # use any number that does not belong to BW
    # below is my sendhub number
    INVALID_BW_NUMBER = '+14087036579'

    def setUp(self):
        # self.bw_client = SHBandwidthClient()
        self.bw_client = SHBandwidthClient(debug=ENABLE_BW_DEBUGGING)

    def tearDown(self):
        pass

    def test_success_sms(self):
        """ verifies only message is sent - if issued msgid """
        msg_id = self.bw_client.send_sms(
            from_number=self.VALID_BW_NUMBER,
            to_number=self.VALID_TO_NUMBER,
            msg='{}-{}'.format(inspect.stack()[0][3],
                               datetime.datetime.now())
        )
        self.assertIsNotNone(msg_id)

    def test_success_mms(self):
        pass

    def test_sms_invalid_number(self):
        self.assertIsNotNone(self.bw_client.send_sms(
            from_number=self.INVALID_BW_NUMBER,
            to_number=self.VALID_TO_NUMBER,
            msg='{}-{}'.format(inspect.stack()[0][3],
                               datetime.datetime.now())
        ))

    def test_mms_invalid_number(self):
        pass

    def test_group_sms_success(self):
        pass

    def test_group_mms_success(self):
        pass

    def test_group_sms_fail(self):
        pass

    def test_group_mms_fail(self):
        pass

    def test_msg_info(self):
        self.assertRaises(NotImplementedError,
                          self.bw_client.get_message_info,
                          'dummy')
Beispiel #7
0
class BWMessagingTestCases(unittest.TestCase):
    # provide a valid BW number
    VALID_BW_NUMBER = '+18334095439'

    # this is test service, will respond with generic message
    VALID_TO_NUMBER = '+15072003115'
    # use any number that does not belong to BW
    # below is my sendhub number
    INVALID_BW_NUMBER = '+14087036579'

    def setUp(self):
        # self.bw_client = SHBandwidthClient()
        self.bw_client = SHBandwidthClient(debug=ENABLE_BW_DEBUGGING)

    def tearDown(self):
        pass

    def test_success_sms(self):
        """ verifies only message is sent - if issued msgid """
        msg_id = self.bw_client.send_sms(from_number=self.VALID_BW_NUMBER,
                                         to_number=self.VALID_TO_NUMBER,
                                         msg='{}-{}'.format(
                                             inspect.stack()[0][3],
                                             datetime.datetime.now()))
        self.assertIsNotNone(msg_id)

    def test_success_mms(self):
        pass

    def test_sms_invalid_number(self):
        self.assertIsNotNone(
            self.bw_client.send_sms(from_number=self.INVALID_BW_NUMBER,
                                    to_number=self.VALID_TO_NUMBER,
                                    msg='{}-{}'.format(
                                        inspect.stack()[0][3],
                                        datetime.datetime.now())))

    def test_mms_invalid_number(self):
        pass

    def test_group_sms_success(self):
        pass

    def test_group_mms_success(self):
        pass

    def test_group_sms_fail(self):
        pass

    def test_group_mms_fail(self):
        pass

    def test_msg_info(self):
        self.assertRaises(NotImplementedError, self.bw_client.get_message_info,
                          'dummy')
Beispiel #8
0
class PhoneNumberListAllTestCases(unittest.TestCase):
    def setUp(self):
        self.bw_client = SHBandwidthClient(debug=ENABLE_BW_DEBUGGING)

    def tearDown(self):
        pass

    def test_list_numbers_size1(self):
        try:
            numbers = self.bw_client.list_active_numbers(size=1)
        except Exception as e:
            self.fail('exception unexpectedly: {}'.format(e))
        else:
            for number in numbers:
                logging.info("number: {}".format(number))

    def test_list_numbers_size2(self):
        try:
            numbers = self.bw_client.list_active_numbers(size=2)
        except Exception as e:
            self.fail('exception unexpectedly: {}'.format(e))
        else:
            for number in numbers:
                logging.info("number: {}".format(number))

    def test_list_numbers_size500(self):
        try:
            numbers = self.bw_client.list_active_numbers(size=500)
        except Exception as e:
            self.fail('exception unexpectedly: {}'.format(e))
        else:
            for number in numbers:
                logging.info("number: {}".format(number))

    def test_list_numbers_size1000(self):
        try:
            numbers = self.bw_client.list_active_numbers(size=1000)
        except Exception as e:
            self.fail('exception unexpectedly: {}'.format(e))
        else:
            for number in numbers:
                logging.info("number: {}".format(number))

    def test_list_numbers_sizedefault(self):
        try:
            numbers = self.bw_client.list_active_numbers()
        except Exception as e:
            self.fail('exception unexpectedly: {}'.format(e))
        else:
            for number in numbers:
                logging.info("number: {}".format(number))

    def test_list_numbers_invalidsite(self):
        # in this case bandwidth returns 0 numbers
        try:
            numbers = self.bw_client.list_active_numbers(site_id=1)
        except Exception as e:
            self.fail('exception unexpectedly: {}'.format(e))
        else:
            self.assertEqual(sum(1 for x in numbers), 0)
Beispiel #9
0
class DownloadMediaTestCases(unittest.TestCase):
    """
       tests valid/invalid cases for downloading MMS file.
    """
    def setUp(self):
        self.bw_client = SHBandwidthClient(debug=ENABLE_BW_DEBUGGING)

    # call this proper URI
    def download(self, url):
        self.bw_client.get_media(url)

    def test_download_empty_uri(self):
        self.assertIsNone(self.bw_client.get_media(''))

    def test_download_invalid_uri(self):
        self.assertIsNone(self.bw_client.get_media('https://messaging.bandwidth.com/api/v2/users/5004525/media/abcself.jpg'))  # noqa

    def test_download_invalid_hostdir(self):
        self.assertRaises(ValueError,
                          self.bw_client.get_media,
                          '',
                          '/home/ubuntu/aaaabbbbbccccssss/')
Beispiel #10
0
class DownloadMediaTestCases(unittest.TestCase):
    """
       tests valid/invalid cases for downloading MMS file.
    """
    def setUp(self):
        self.bw_client = SHBandwidthClient(debug=ENABLE_BW_DEBUGGING)

    # call this proper URI
    def download(self, url):
        self.bw_client.get_media(url)

    def test_download_empty_uri(self):
        self.assertIsNone(self.bw_client.get_media(''))

    def test_download_invalid_uri(self):
        self.assertIsNone(
            self.bw_client.get_media(
                'https://messaging.bandwidth.com/api/v2/users/5004525/media/abcself.jpg'
            ))  # noqa

    def test_download_invalid_hostdir(self):
        self.assertRaises(ValueError, self.bw_client.get_media, '',
                          '/home/ubuntu/aaaabbbbbccccssss/')
Beispiel #11
0
class PhoneNumberInServiceTestCases(unittest.TestCase):
    INVALID_NUMBERS = ['', 0, 1234, 34567, '89101112ab', ]
    NOT_BW_NUMBERS = ['+14087036579', '(408)703-6579']
    BW_NUMBERS = ['(833) 409-5439', '+18334095439']

    def setUp(self):
        self.bw_client = SHBandwidthClient()

    def tearDown(self):
        pass

    def test_invalid_numbers(self):
        for number in self.INVALID_NUMBERS:
            self.assertRaises(ValueError,
                              self.bw_client.in_service,
                              number)

    def test_not_bw_numbers(self):
        for number in self.NOT_BW_NUMBERS:
            self.assertFalse(self.bw_client.in_service(number))

    def test_bw_numbers(self):
        for number in self.BW_NUMBERS:
            self.assertTrue(self.bw_client.in_service(number))
Beispiel #12
0
class PhoneNumberCountTestCases(unittest.TestCase):
    def setUp(self):
        self.bw_client = SHBandwidthClient()

    def tearDown(self):
        pass

    def test_count(self):
        try:
            count = self.bw_client.get_active_number_count()
        except Exception as e:
            self.fail("Unexpected exception: {}".format(e))
        else:
            logging.info("Count: {}".format(count))

        self.assertGreaterEqual(count, 0)

    def test_count_invalid_site(self):
        self.assertRaises(BandwidthAccountAPIException,
                          self.bw_client.get_active_number_count,
                          site_id=1)
Beispiel #13
0
class PhoneNumberCountTestCases(unittest.TestCase):
    def setUp(self):
        self.bw_client = SHBandwidthClient()

    def tearDown(self):
        pass

    def test_count(self):
        try:
            count = self.bw_client.get_active_number_count()
        except Exception as e:
            self.fail("Unexpected exception: {}".format(e))
        else:
            logging.info("Count: {}".format(count))

        self.assertGreaterEqual(count, 0)

    def test_count_invalid_site(self):
        self.assertRaises(BandwidthAccountAPIException,
                          self.bw_client.get_active_number_count,
                          site_id=1)
Beispiel #14
0
 def __init__(self):
     self.bw_client = SHBandwidthClient(debug=ENABLE_BW_DEBUGGING)
Beispiel #15
0
class PhoneNumberListAllTestCases(unittest.TestCase):

    def setUp(self):
        self.bw_client = SHBandwidthClient(debug=ENABLE_BW_DEBUGGING)

    def tearDown(self):
        pass

    def test_list_numbers_size1(self):
        try:
            numbers = self.bw_client.list_active_numbers(size=1)
        except Exception as e:
            self.fail('exception unexpectedly: {}'.format(e))
        else:
            for number in numbers:
                logging.info("number: {}".format(number))

    def test_list_numbers_size2(self):
        try:
            numbers = self.bw_client.list_active_numbers(size=2)
        except Exception as e:
            self.fail('exception unexpectedly: {}'.format(e))
        else:
            for number in numbers:
                logging.info("number: {}".format(number))

    def test_list_numbers_size500(self):
        try:
            numbers = self.bw_client.list_active_numbers(size=500)
        except Exception as e:
            self.fail('exception unexpectedly: {}'.format(e))
        else:
            for number in numbers:
                logging.info("number: {}".format(number))

    def test_list_numbers_size1000(self):
        try:
            numbers = self.bw_client.list_active_numbers(size=1000)
        except Exception as e:
            self.fail('exception unexpectedly: {}'.format(e))
        else:
            for number in numbers:
                logging.info("number: {}".format(number))

    def test_list_numbers_sizedefault(self):
        try:
            numbers = self.bw_client.list_active_numbers()
        except Exception as e:
            self.fail('exception unexpectedly: {}'.format(e))
        else:
            for number in numbers:
                logging.info("number: {}".format(number))

    def test_list_numbers_invalidsite(self):
        # in this case bandwidth returns 0 numbers
        try:
            numbers = self.bw_client.list_active_numbers(site_id=1)
        except Exception as e:
            self.fail('exception unexpectedly: {}'.format(e))
        else:
            self.assertEqual(sum(1 for x in numbers), 0)
Beispiel #16
0
 def __init__(self):
     self.bw_client = SHBandwidthClient(debug=ENABLE_BW_DEBUGGING)
Beispiel #17
0
class BandwidthAccountHelpers:
    def __init__(self):
        self.bw_client = SHBandwidthClient(debug=ENABLE_BW_DEBUGGING)

    def _buy_phonenumber_with_areacode(self, area_code, country_code='US'):
        search_number = None
        try:
            search_number = self.bw_client.buy_phone_number(
                area_code=area_code,
                country_code=country_code
            )
            logging.info("available number: {}".format(search_number))
        except AreaCodeUnavailableError as e:
            logging.info("Exception as {}".format(e))

        return search_number

    def _buy_phonenumber_with_phonenum(self, phone_num):
        bought_number = None
        try:
            bought_number = self.bw_client.buy_phone_number(
                phone_number=phone_num
            )
            logging.info("available number: {}".format(bought_number))
        except AreaCodeUnavailableError as e:
            logging.info("Exception as {}".format(e))

        return bought_number

    def _search_phonenumber_with_areacode(self, area_code, quantity=1):
        """ searches for one phone number within given area code """
        search_number = None
        try:
            search_number = self.bw_client.find_number_in_area_code(
                area_code=area_code,
                quantity=quantity
            )
        except AreaCodeUnavailableError as e:
            logging.info("Exception as {}".format(e))

        return search_number

    def _buy_tollfree_phonenumber(self, quantity=1):
        search_number = None
        try:
            search_number = self.bw_client.buy_toll_free_number(
                quantity=quantity
            )
            logging.info("available number: {}".format(search_number))
        except BWTollFreeUnavailableError as e:
            logging.info("Exception as {}".format(e))

        return search_number

    def _search_tollfree_phonenumber(self, quantity=1):
        search_number = None
        try:
            search_number = self.bw_client.search_available_toll_free_number(
                pattern='8**',
                quantity=quantity
            )
            logging.info("available numbers: {}".format(search_number))
        except BWTollFreeUnavailableError as e:
            logging.info("Exception as {}".format(e))

        return search_number

    def _delete_phonenumber(self, phone_no, re_raise=True):
        logging.info("Deleting phonenumber: {}".format(phone_no))
        try:
            self.bw_client.release_phone_number(phone_no)
        except ValueError as e:
            logging.info("Received ValueError exception: {}:{}".
                         format(e, phone_no))
            if re_raise:
                raise
            else:
                pass
        except BandwidthAccountAPIException as e:
            logging.info("Received BandwidthAccountAPIException "
                         "exception: {}:{}".format(e, phone_no))
            if re_raise:
                raise
            else:
                pass

    def _delete_phonenum_list(self, cleanup_list, re_raise=True):
        for phonenum in cleanup_list:
            self._delete_phonenumber(phonenum, re_raise=re_raise)
Beispiel #18
0
 def setUp(self):
     self.bw_client = SHBandwidthClient()
Beispiel #19
0
 def setUp(self):
     self.bw_client = SHBandwidthClient()
Beispiel #20
0
 def setUp(self):
     self.bw_client = SHBandwidthClient(debug=ENABLE_BW_DEBUGGING)
Beispiel #21
0
 def setUp(self):
     self.bw_client = SHBandwidthClient(debug=ENABLE_BW_DEBUGGING)
Beispiel #22
0
 def __init__(self):
     self.bw_client = SHBandwidthClient()
     for orderid in self.order_list:
         verify_orderinfo(self.bw_client, orderid)
Beispiel #23
0
class BandwidthAccountHelpers:
    def __init__(self):
        self.bw_client = SHBandwidthClient(debug=ENABLE_BW_DEBUGGING)

    def _buy_phonenumber_with_areacode_passthru(self,
                                                area_code,
                                                country_code='US'):
        return self._buy_phonenumber_with_areacode(area_code,
                                                   country_code,
                                                   reraise=True)

    def _buy_phonenumber_with_areacode(self,
                                       area_code,
                                       country_code='US',
                                       reraise=False):
        search_number = None
        try:
            search_number = self.bw_client.buy_phone_number(
                area_code=area_code, country_code=country_code)
            logging.info("available number: {}".format(search_number))
        except AreaCodeUnavailableError as e:
            logging.info("Exception as {}".format(e))
            if reraise:
                raise

        return search_number

    def _buy_phonenumber_with_phonenum(self, phone_num, reraise=False):
        bought_number = None
        try:
            bought_number = self.bw_client.buy_phone_number(
                phone_number=phone_num)
            logging.info("available number: {}".format(bought_number))
        except AreaCodeUnavailableError as e:
            logging.info("Exception as {}".format(e))
            if reraise:
                raise

        return bought_number

    def _search_phonenumber_with_areacode(self,
                                          area_code,
                                          quantity=1,
                                          country_code='US'):
        """ searches for one phone number within given area code """
        search_number = None
        try:
            search_number = self.bw_client.find_number_in_area_code(
                area_code=area_code,
                quantity=quantity,
                country_code=country_code)
        except AreaCodeUnavailableError as e:
            logging.info("Exception as {}".format(e))

        return search_number

    def _buy_tollfree_phonenumber(self, quantity=1, reraise=False):
        search_number = None
        try:
            search_number = self.bw_client.buy_toll_free_number(
                quantity=quantity)
            logging.info("available number: {}".format(search_number))
        except BWTollFreeUnavailableError as e:
            logging.info("Exception as {}".format(e))
            if reraise:
                raise

        return search_number

    def _search_tollfree_phonenumber(self, quantity=1):
        search_number = None
        try:
            search_number = self.bw_client.search_available_toll_free_number(
                pattern='8**', quantity=quantity)
            logging.info("available numbers: {}".format(search_number))
        except BWTollFreeUnavailableError as e:
            logging.info("Exception as {}".format(e))

        return search_number

    def _delete_phonenumber(self, phone_no, re_raise=True):
        logging.info("Deleting phonenumber: {}".format(phone_no))
        try:
            self.bw_client.release_phone_number(phone_no)
        except ValueError as e:
            logging.info("Received ValueError exception: {}:{}".format(
                e, phone_no))
            if re_raise:
                raise
            else:
                pass
        except BandwidthAccountAPIException as e:
            logging.info("Received BandwidthAccountAPIException "
                         "exception: {}:{}".format(e, phone_no))
            if re_raise:
                raise
            else:
                pass

    def _delete_phonenum_list(self, cleanup_list, re_raise=True):
        for phonenum in cleanup_list:
            self._delete_phonenumber(phonenum, re_raise=re_raise)