Exemple #1
0
    def test_secure_communication(self, mock_logging):
        SERVER_PUBLIC_KEY = "Ee4##T$OmI4]hzyKqZT@H&Fixt95^.72&%MK!UR."
        SERVER_SECRET_KEY = "lIn2Szq0.mpPiB<N)t6fR2/4^4&wYnFs-x72HlTz"

        # Non-error case
        ipc_addr = 'ipc://' + tempfile.NamedTemporaryFile().name
        server = create_server(ipc_addr, public_key=SERVER_PUBLIC_KEY, secret_key=SERVER_SECRET_KEY)
        server.start()
        glconnect.launch(server_addr=ipc_addr, server_public_key=SERVER_PUBLIC_KEY)
        self.assertTrue(glconnect.is_connected())
        glconnect.stop()
        self.assertFalse(glconnect.is_connected())

        # Tests with bogus key
        BOGUS_KEY = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
        ipc_addr = 'ipc://' + tempfile.NamedTemporaryFile().name
        server = create_server(ipc_addr, public_key=BOGUS_KEY, secret_key=SERVER_SECRET_KEY)
        try:
            server.start()
        except:
            pass
        else: 
            self.fail("Server started with bogus key.")
        ipc_addr = 'ipc://' + tempfile.NamedTemporaryFile().name
        server = create_server(ipc_addr, public_key=SERVER_PUBLIC_KEY, secret_key=BOGUS_KEY)
        try:
            server.start()
        except:
            pass
        else: 
            self.fail("Server started with bogus key.")
Exemple #2
0
    def test_launch_to_ipc(self):
        ipc_addr = 'ipc://' + tempfile.NamedTemporaryFile().name
        auth_token = 'graphlab_awesome'
        ipc_server = create_server(ipc_addr, auth_token)
        ipc_server.start()
        #default local launch
        glconnect.launch()
        self.assertTrue(glconnect.is_connected())
        glconnect.stop()
        self.assertFalse(glconnect.is_connected())

        #launch with remote server ipc address
        glconnect.launch(ipc_addr, auth_token=auth_token)
        self.assertTrue(glconnect.is_connected())
        self.assertTrue(isinstance(glconnect.get_server(),
                                   server.RemoteServer))
        glconnect.stop()
        self.assertFalse(glconnect.is_connected())

        #launch with remote server addr, and server_bin(ignored)
        glconnect.launch(ipc_addr,
                         os.getenv("GRAPHLAB_UNITY"),
                         auth_token=auth_token)
        self.assertTrue(glconnect.is_connected())
        self.assertTrue(isinstance(glconnect.get_server(),
                                   server.RemoteServer))
        glconnect.stop()
        self.assertFalse(glconnect.is_connected())
        ipc_server.stop()
Exemple #3
0
    def test_launch_to_ipc(self):
        ipc_addr = 'ipc://' + tempfile.NamedTemporaryFile().name
        auth_token = 'graphlab_awesome'
        ipc_server = create_server(ipc_addr, auth_token)
        ipc_server.start()
        #default local launch
        glconnect.launch()
        self.assertTrue(glconnect.is_connected())
        glconnect.stop()
        self.assertFalse(glconnect.is_connected())

        #launch with remote server ipc address
        glconnect.launch(ipc_addr, auth_token=auth_token)
        self.assertTrue(glconnect.is_connected())
        self.assertTrue(isinstance(glconnect.get_server(), server.RemoteServer))
        glconnect.stop()
        self.assertFalse(glconnect.is_connected())

        #launch with remote server addr, and server_bin(ignored)
        glconnect.launch(ipc_addr, os.getenv("GRAPHLAB_UNITY"), auth_token=auth_token)
        self.assertTrue(glconnect.is_connected())
        self.assertTrue(isinstance(glconnect.get_server(), server.RemoteServer))
        glconnect.stop()
        self.assertFalse(glconnect.is_connected())
        ipc_server.stop()
Exemple #4
0
    def test_secure_communication(self, mock_logging):
        SERVER_PUBLIC_KEY = "Ee4##T$OmI4]hzyKqZT@H&Fixt95^.72&%MK!UR."
        SERVER_SECRET_KEY = "lIn2Szq0.mpPiB<N)t6fR2/4^4&wYnFs-x72HlTz"

        # Non-error case
        ipc_addr = 'ipc://' + tempfile.NamedTemporaryFile().name
        server = create_server(ipc_addr,
                               public_key=SERVER_PUBLIC_KEY,
                               secret_key=SERVER_SECRET_KEY)
        server.start()
        glconnect.launch(server_addr=ipc_addr,
                         server_public_key=SERVER_PUBLIC_KEY)
        self.assertTrue(glconnect.is_connected())
        glconnect.stop()
        self.assertFalse(glconnect.is_connected())

        # Tests with bogus key
        BOGUS_KEY = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
        ipc_addr = 'ipc://' + tempfile.NamedTemporaryFile().name
        server = create_server(ipc_addr,
                               public_key=BOGUS_KEY,
                               secret_key=SERVER_SECRET_KEY)
        try:
            server.start()
        except:
            pass
        else:
            self.fail("Server started with bogus key.")
        ipc_addr = 'ipc://' + tempfile.NamedTemporaryFile().name
        server = create_server(ipc_addr,
                               public_key=SERVER_PUBLIC_KEY,
                               secret_key=BOGUS_KEY)
        try:
            server.start()
        except:
            pass
        else:
            self.fail("Server started with bogus key.")
Exemple #5
0
    def test_launch_with_exception(self, mock_logging):
        ipc_addr = 'ipc://' + tempfile.NamedTemporaryFile().name
        auth_token = 'graphlab_awesome'
        ipc_server = create_server(ipc_addr, auth_token)
        ipc_server.start()

        #default launch without stopping
        glconnect.launch(server_addr=ipc_addr)
        glconnect.launch()
        self.assertTrue(mock_logging.warning.called_once_with(SubstringMatcher(containing="existing server")))
        self.assertTrue(glconnect.is_connected())
        glconnect.stop()
        self.assertFalse(glconnect.is_connected())

        # launch with bogus server path (path is not listend by server)
        with tempfile.NamedTemporaryFile() as f:
            glconnect.launch(server_addr=('ipc://' + f.name))
            self.assertTrue(mock_logging.warning.called_once_with(SubstringMatcher(containing="communication failure")))
            self.assertFalse(glconnect.is_connected())
Exemple #6
0
    def test_launch_with_exception(self, mock_logging):
        ipc_addr = 'ipc://' + tempfile.NamedTemporaryFile().name
        auth_token = 'graphlab_awesome'
        ipc_server = create_server(ipc_addr, auth_token)
        ipc_server.start()

        #default launch without stopping
        glconnect.launch(server_addr=ipc_addr)
        glconnect.launch()
        self.assertTrue(
            mock_logging.warning.called_once_with(
                SubstringMatcher(containing="existing server")))
        self.assertTrue(glconnect.is_connected())
        glconnect.stop()
        self.assertFalse(glconnect.is_connected())

        # launch with bogus server path (path is not listend by server)
        with tempfile.NamedTemporaryFile() as f:
            glconnect.launch(server_addr=('ipc://' + f.name))
            self.assertTrue(
                mock_logging.warning.called_once_with(
                    SubstringMatcher(containing="communication failure")))
            self.assertFalse(glconnect.is_connected())