Esempio n. 1
0
 def test_when_peer_stub_manager_is_none_return_fail(self):
     rs_service = RadioStationService()
     channel_manager = ChannelManager(rs_service.common_service)
     rs_service._RadioStationService__channel_manager = channel_manager
     request = TestRequest('abcd', 'abcd', None)
     outer_service = OuterService()
     context = None
     response = outer_service.GetPeerStatus(request, context)
     self.assertEqual("fail", response.status)
    def test_load_pki_by_seed(self):
        """ GIVEN random table conf.KMS = TRUE
        WHEN create two PeerAuthorization
        THEN create PeerAuthorization success
        THEN both PeerAuthorization sign and verify can both signature
        """

        # GIVEN
        conf.ENABLE_KMS = True
        seed = 1234
        rs_service = RadioStationService(rand_seed=seed)
        rand_table = rs_service._RadioStationService__random_table

        # WHEN THEN
        peer_auth = PeerAuthorization(rand_table=rand_table)
        peer_auth2 = PeerAuthorization(rand_table=rand_table)

        # THEN
        sign = peer_auth.sign_data(b'a')
        sign2 = peer_auth2.sign_data(b'a')
        # both public key must same
        self.assertEqual(peer_auth.get_public_der(),
                         peer_auth2.get_public_der())
        # both peer_auth can verify signature
        self.assertTrue(peer_auth.verify_data(b'a', sign2))
        self.assertTrue(peer_auth2.verify_data(b'a', sign))

        # if have another seed can't verify
        conf.MY_SEED = 100
        peer_auth3 = PeerAuthorization(rand_table=rand_table)
        self.assertFalse(peer_auth3.verify_data(b'a', sign))

        conf.ENABLE_KMS = False
Esempio n. 3
0
def main(argv):
    logging.info("RadioStation main got argv(list): " + str(argv))

    try:
        opts, args = getopt.getopt(argv, "dhp:", ["help", "port=", "cert="])
    except getopt.GetoptError as e:
        logging.error(e)
        usage()
        sys.exit(1)

    port = conf.PORT_RADIOSTATION
    cert = None
    pw = None

    # apply option values
    for opt, arg in opts:
        if opt == "-d":
            util.set_log_level_debug()
        elif (opt == "-p") or (opt == "--port"):
            port = arg
        elif opt == "--cert":
            cert = arg
        elif (opt == "-h") or (opt == "--help"):
            usage()
            return

    # Check Port is Using
    if util.check_port_using(conf.IP_RADIOSTATION, int(port)):
        logging.error('RadioStation Service Port is Using ' + str(port))
        return

    RadioStationService(conf.IP_RADIOSTATION, cert, pw).serve(port)
Esempio n. 4
0
def main(argv):
    logging.info("RadioStation main got argv(list): " + str(argv))

    try:
        opts, args = getopt.getopt(
            argv, "dhp:o:s:",
            ["help", "port=", "cert=", "configure_file_path=", "seed="])
    except getopt.GetoptError as e:
        logging.error(e)
        usage()
        sys.exit(1)

    # apply json configure values
    for opt, arg in opts:
        if (opt == "-o") or (opt == "--configure_file_path"):
            conf.Configure().load_configure_json(arg)

    # apply default configure values
    port = conf.PORT_RADIOSTATION
    cert = None
    pw = None
    seed = None

    # apply option values
    for opt, arg in opts:
        if opt == "-d":
            util.set_log_level_debug()
        elif (opt == "-p") or (opt == "--port"):
            port = arg
        elif opt == "--cert":
            cert = arg
        elif (opt == "-s") or (opt == "--seed"):
            try:
                seed = int(arg)
            except ValueError as e:
                util.exit_and_msg(f"seed or s opt must be int \n"
                                  f"intput value : {arg}")
        elif (opt == "-h") or (opt == "--help"):
            usage()
            return

    # Check Port is Using
    if util.check_port_using(conf.IP_RADIOSTATION, int(port)):
        logging.error('RadioStation Service Port is Using ' + str(port))
        return

    RadioStationService(conf.IP_RADIOSTATION, cert, pw, seed).serve(port)
Esempio n. 5
0
def start_as_rs(args):
    print_prologue()

    # apply default configure values
    port = args.port or conf.PORT_RADIOSTATION
    cert = args.cert or None
    pw = None
    seed = args.seed or None
    check_port_available(int(port))

    if seed:
        try:
            seed = int(seed)
        except ValueError as e:
            util.exit_and_msg(f"seed or s opt must be int \n"
                              f"input value : {seed}")

    RadioStationService(conf.IP_RADIOSTATION, cert, pw, seed).serve(port)
    print_eplilogue()
Esempio n. 6
0
def run_radio_station(port, event_for_init: multiprocessing.Event = None):
    RadioStationService().serve(port, event_for_init)
Esempio n. 7
0
def run_radio_station(port):
    RadioStationService().serve(port)
Esempio n. 8
0
def run_radio_station(port):
    server = RadioStationService()
    server.serve(port)
Esempio n. 9
0
 def create_rand_table(seed) -> list:
     # WHEN
     rs_service = RadioStationService(rand_seed=seed)
     return rs_service._RadioStationService__random_table