コード例 #1
0
    def test_subscribe_set(self):

        cluster1 = dany.Cluster(cluster_id=1,
                                name="test_cluster",
                                comment="woot")

        node1 = dany.Node(node_id=1,
                          comment="this is node 1",
                          conninfo={
                              "host": data_dir,
                              "port": pg_port,
                              "dbname": "slony1"
                          })

        node2 = dany.Node(node_id=2,
                          comment="this is node 2",
                          conninfo={
                              "host": data_dir,
                              "port": pg_port,
                              "dbname": "slony2",
                          })

        nodes = [node1, node2]

        set1 = dany.Set(set_id=1)

        dan = dany.Dan(cluster=cluster1, nodes=nodes)
        dan.init_cluster(node1)
        dan.store_node(node=node2, event_node=node1)

        conninfo = "host={0} port={1} dbname=slony1".format(data_dir, pg_port)
        dan.store_path(server=node1,
                       client=node2,
                       conninfo=conninfo,
                       connretry=10)

        dan.create_set(set1, origin=node1)

        table1 = dany.Table(table_id=1,
                            comment="this is a table!",
                            schema="public",
                            name="foo")

        tables = [table1]
        dan.set_add_table(set1, tables)

        dan.subscribe_set(set1, node1, node2)

        # Verify subscription shows as registered in slony1
        with psycopg2.connect(host=data_dir, port=pg_port,
                              dbname="slony1") as conn:
            conn.autocommit = True
            with conn.cursor() as cur:
                cur.execute("set search_path = _test_cluster")
                self._check_subscription_exists(cur, set1, node1, node2)
コード例 #2
0
    def test_create_set(self):

        cluster1 = dany.Cluster(cluster_id=1,
                                name="test_cluster",
                                comment="woot")

        node1 = dany.Node(node_id=1,
                          comment="this is node 1",
                          conninfo={
                              "host": data_dir,
                              "port": pg_port,
                              "dbname": "slony1"
                          })

        nodes = [node1]

        set1 = dany.Set(set_id=1)

        dan = dany.Dan(cluster=cluster1, nodes=nodes)
        dan.init_cluster(node1)
        dan.create_set(set1, origin=node1)

        # Verify set shows as registered in slony1
        with psycopg2.connect(host=data_dir, port=pg_port,
                              dbname="slony1") as conn:
            conn.autocommit = True
            with conn.cursor() as cur:
                cur.execute("set search_path = _test_cluster")
                self._check_set_exists(cur, set1, node1)
コード例 #3
0
    def test_store_node(self):

        cluster1 = dany.Cluster(cluster_id=1,
                                name="test_cluster",
                                comment="woot")

        node1 = dany.Node(node_id=1,
                          comment="this is node 1",
                          conninfo={
                              "host": data_dir,
                              "port": pg_port,
                              "dbname": "slony1"
                          })

        node2 = dany.Node(node_id=2,
                          comment="this is node 2",
                          conninfo={
                              "host": data_dir,
                              "port": pg_port,
                              "dbname": "slony2",
                          })

        nodes = [node1, node2]

        dan = dany.Dan(cluster=cluster1, nodes=nodes)
        dan.init_cluster(node1)
        dan.store_node(node=node2, event_node=node1)

        # Verify both nodes show as registered in slony1
        with psycopg2.connect(host=data_dir, port=pg_port,
                              dbname="slony1") as conn:
            conn.autocommit = True
            with conn.cursor() as cur:
                cur.execute("set search_path = _test_cluster")
                self._check_node_exists(cur, node1)
                self._check_node_exists(cur, node2)

        # Verify both nodes show as registered in slony2
        with psycopg2.connect(host=data_dir, port=pg_port,
                              dbname="slony2") as conn:
            conn.autocommit = True
            with conn.cursor() as cur:
                cur.execute("set search_path = _test_cluster")
                self._check_node_exists(cur, node1)
                self._check_node_exists(cur, node2)
コード例 #4
0
#!/usr/bin/env python

import dany

cluster1 = dany.Cluster(cluster_id=1, name="test_cluster", comment="woot")

node1 = dany.Node(node_id=1,
                  comment="this is node 1",
                  conninfo="dbname=slony hostname=node1.test")

node2 = dany.Node(node_id=2,
                  comment="this is node 2",
                  conninfo={
                      "db": "slony",
                      "hostname": "node2.test"
                  })

nodes = [node1, node2]

table1 = dany.Table(table_id=1,
                    comment="this is a table!",
                    key="uk1",
                    schema="public",
                    name="foo")

table2 = dany.Table(table_id=2, comment="this is another table!", name="bar")

tables = [table1, table2]

set1 = dany.Set(set_id=1)