def test_api(self):
        # Make pure memory notebook.
        self.conn = mem.NoteBookConnectionMem()
        self.notebook = notebooklib.NoteBook()
        self.notebook.create('', self.conn)

        # Start server in another thread
        host = "localhost"
        self.port = 8123
        url = "http://%s:%d/notebook/" % (host, self.port)
        server = BaseNoteBookHttpServer(self.conn, port=self.port)
        thread.start_new_thread(server.serve_forever, ())

        # Connect to server.
        self.conn2 = NoteBookConnectionHttp()
        self.conn2.connect(url)
        self.wait_for_server(self.conn2)

        # Test full notebook API.
        self._test_api(self.conn2)

        self.conn2.close()
        self.conn.close()

        # Close server.
        server.shutdown()
Example #2
0
    def test_notebook_schema(self):
        """
        Full HTTP Notebook should enfore schema with nodeid usage.
        """
        # Make pure memory notebook.
        self.conn = mem.NoteBookConnectionMem()
        self.notebook = notebooklib.NoteBook()
        self.notebook.create('', self.conn)

        # Start server in another thread
        host = "localhost"
        self.port = 8124
        url = "http://%s:%d/notebook/" % (host, self.port)
        server = NoteBookHttpServer(self.conn, port=self.port)
        thread.start_new_thread(server.serve_forever, ())

        # Connect to server.
        self.conn2 = NoteBookConnectionHttp()
        self.conn2.connect(url)
        self.wait_for_server(self.conn2)

        # Test new node without specifying nodeid.
        attr = {
            "key1": 123,
            "key2": 456,
        }
        data = urllib.urlopen(url + 'nodes/', json.dumps(attr)).read()
        nodeid = json.loads(data)['nodeid']
        data = urllib.urlopen(url + 'nodes/%s' % nodeid).read()
        attr2 = json.loads(data)
        attr['nodeid'] = nodeid
        self.assertEqual(attr, attr2)

        # Close server.
        server.shutdown()
Example #3
0
    def test_api(self):
        # Make pure memory notebook.
        self.conn = mem.NoteBookConnectionMem()
        self.notebook = notebooklib.NoteBook()
        self.notebook.create('', self.conn)

        # Start server in another thread
        host = "localhost"
        self.port = 8123
        url = "http://%s:%d/notebook/" % (host, self.port)
        server = BaseNoteBookHttpServer(self.conn, port=self.port)
        thread.start_new_thread(server.serve_forever, ())

        # Connect to server.
        self.conn2 = NoteBookConnectionHttp()
        self.conn2.connect(url)
        self.wait_for_server(self.conn2)

        # Test full notebook API.
        self._test_api(self.conn2)

        self.conn2.close()
        self.conn.close()

        # Close server.
        server.shutdown()
class TestHttp(TestConnBase):
    def wait_for_server(self, conn):
        """
        Wait for server to start.
        """
        while True:
            try:
                conn.get_rootid()
                break
            except socket.error:
                # Try again.
                pass

    def test_api(self):
        # Make pure memory notebook.
        self.conn = mem.NoteBookConnectionMem()
        self.notebook = notebooklib.NoteBook()
        self.notebook.create('', self.conn)

        # Start server in another thread
        host = "localhost"
        self.port = 8123
        url = "http://%s:%d/notebook/" % (host, self.port)
        server = BaseNoteBookHttpServer(self.conn, port=self.port)
        thread.start_new_thread(server.serve_forever, ())

        # Connect to server.
        self.conn2 = NoteBookConnectionHttp()
        self.conn2.connect(url)
        self.wait_for_server(self.conn2)

        # Test full notebook API.
        self._test_api(self.conn2)

        self.conn2.close()
        self.conn.close()

        # Close server.
        server.shutdown()

    def test_notebook_schema(self):
        """
        Full HTTP Notebook should enfore schema with nodeid usage.
        """
        # Make pure memory notebook.
        self.conn = mem.NoteBookConnectionMem()
        self.notebook = notebooklib.NoteBook()
        self.notebook.create('', self.conn)

        # Start server in another thread
        host = "localhost"
        self.port = 8124
        url = "http://%s:%d/notebook/" % (host, self.port)
        server = NoteBookHttpServer(self.conn, port=self.port)
        thread.start_new_thread(server.serve_forever, ())

        # Connect to server.
        self.conn2 = NoteBookConnectionHttp()
        self.conn2.connect(url)
        self.wait_for_server(self.conn2)

        # Test new node without specifying nodeid.
        attr = {
            "key1": 123,
            "key2": 456,
        }
        data = urllib.urlopen(url + 'nodes/', json.dumps(attr)).read()
        nodeid = json.loads(data)['nodeid']
        data = urllib.urlopen(url + 'nodes/%s' % nodeid).read()
        attr2 = json.loads(data)
        attr['nodeid'] = nodeid
        self.assertEqual(attr, attr2)

        # Test new node without specifying nodeid and with auto set.
        attr = {
            "key1": 123,
            "key2": 456,
        }
        data = urllib.urlopen(url + 'nodes/?auto', json.dumps(attr)).read()
        nodeid = json.loads(data)['nodeid']
        data = urllib.urlopen(url + 'nodes/%s' % nodeid).read()
        attr2 = json.loads(data)
        attr["nodeid"] = nodeid
        self.assertEqual(attr, attr2)

        # Close server.
        server.shutdown()
Example #5
0
class TestHttp(TestConnBase):

    def wait_for_server(self, conn):
        """
        Wait for server to start.
        """
        while True:
            try:
                conn.get_rootid()
                break
            except socket.error:
                # Try again.
                pass

    def test_api(self):
        # Make pure memory notebook.
        self.conn = mem.NoteBookConnectionMem()
        self.notebook = notebooklib.NoteBook()
        self.notebook.create('', self.conn)

        # Start server in another thread
        host = "localhost"
        self.port = 8123
        url = "http://%s:%d/notebook/" % (host, self.port)
        server = BaseNoteBookHttpServer(self.conn, port=self.port)
        thread.start_new_thread(server.serve_forever, ())

        # Connect to server.
        self.conn2 = NoteBookConnectionHttp()
        self.conn2.connect(url)
        self.wait_for_server(self.conn2)

        # Test full notebook API.
        self._test_api(self.conn2)

        self.conn2.close()
        self.conn.close()

        # Close server.
        server.shutdown()

    def test_notebook_schema(self):
        """
        Full HTTP Notebook should enfore schema with nodeid usage.
        """
        # Make pure memory notebook.
        self.conn = mem.NoteBookConnectionMem()
        self.notebook = notebooklib.NoteBook()
        self.notebook.create('', self.conn)

        # Start server in another thread
        host = "localhost"
        self.port = 8124
        url = "http://%s:%d/notebook/" % (host, self.port)
        server = NoteBookHttpServer(self.conn, port=self.port)
        thread.start_new_thread(server.serve_forever, ())

        # Connect to server.
        self.conn2 = NoteBookConnectionHttp()
        self.conn2.connect(url)
        self.wait_for_server(self.conn2)

        # Test new node without specifying nodeid.
        attr = {
            "key1": 123,
            "key2": 456,
        }
        data = urllib.urlopen(url + 'nodes/', json.dumps(attr)).read()
        nodeid = json.loads(data)['nodeid']
        data = urllib.urlopen(url + 'nodes/%s' % nodeid).read()
        attr2 = json.loads(data)
        attr['nodeid'] = nodeid
        self.assertEqual(attr, attr2)

        # Close server.
        server.shutdown()