Пример #1
0
 def test_write_read_colq(self):
     store = FilePersist("tmp")
     store.write('test', value='1')
     store.write('test', 'colf', value='2')
     store.write('test', 'colf', 'colq', value='3')
     nt.assert_equal('1', store.read('test'))
     nt.assert_equal('2', store.read('test', 'colf'))
     nt.assert_equal('3', store.read('test', 'colf', 'colq'))
Пример #2
0
    def setUp(self):
        self.setup_zookeeper()
        zoo_host = ":".join(str(x) for x in self.client.hosts[0])

        ezConfig = EzConfiguration().getProperties()
        ezConfig[
            EzBakePropertyConstants.ZOOKEEPER_CONNECTION_STRING] = zoo_host
        ezConfig[caservice.EzCAHandler.CLIENT_CERTS] = "client"
        ezConfig[caservice.EzCAHandler.CLIENT_CERT_O] = "tmpcerts"

        # make direcotry for client certs
        try:
            os.mkdir('tmpcerts')
            os.mkdir('tmpcerts/server')
            os.mkdir('tmpcerts/client')
        except OSError as e:
            if e.errno != errno.EEXIST:
                raise e

        #caservice.setup_logging(True, ezConfig)
        # Start the server
        self.serverProcess = Process(target=caservice.ca_server,
                                     args=(ezConfig, ),
                                     kwargs={
                                         'port': 5049,
                                         'host': 'localhost',
                                         'verify_pattern': r"client",
                                         "ssldir": "tmpcerts/server"
                                     })
        self.serverProcess.start()
        # Starting the server takes a while
        time.sleep(5)

        # Write out the client certs
        ca.EzbakeCA.setup(FilePersist(caservice.EzCAHandler.TABLE_NAME))
        cert.Cert.setup(FilePersist(caservice.EzCAHandler.TABLE_NAME))
        try:
            ca_certs = ca.EzbakeCA.get_named("ezbakeca")
        except KeyError:
            ca_certs = ca.EzbakeCA(name="ezbakeca")
            ca_certs.save()

        client_certs = cert.Cert.get_named("client")
        with open(os.path.join("tmpcerts/client", "ezbakeca.crt"), 'w') as f:
            f.write(ca_certs.cert_string())
        with open(os.path.join("tmpcerts/client", "application.crt"),
                  'w') as f:
            f.write(client_certs.cert_string())
        with open(os.path.join("tmpcerts/client", "application.priv"),
                  'w') as f:
            f.write(client_certs.pkey_string())
Пример #3
0
def ezpersist_instance(mode):
    if mode == "file":
        store = FilePersist(EzCAHandler.TABLE_NAME)
    elif mode == "accumulo":
        raise NotImplementedError("accumulo persistance not supported by EzCA yet")
    else:
        store = MemoryPersist()
    return store
 def test_table_delete_doesnt_affect_other(self):
     store = FilePersist("tmp", ["table1", "table2"])
     store.write("test", "colf", "colq", "table1", '12345')
     store.write("test", "colf", "colq", "table2", '12345')
     store.delete("test", "table1")
     nt.assert_equal('12345', store.read("test", "colf", "colq", "table2"))
     nt.assert_raises(KeyError, store.read, 'test', table='table1')
Пример #5
0
 def test_table_delete_doesnt_affect_other(self):
     store = FilePersist("tmp", ["table1", "table2"])
     store.write("test", "colf", "colq", "table1", '12345')
     store.write("test", "colf", "colq", "table2", '12345')
     store.delete("test", "table1")
     nt.assert_equal('12345', store.read("test", "colf", "colq", "table2"))
     nt.assert_raises(KeyError, store.read, 'test', table='table1')
Пример #6
0
    def __init__(self, ca_name, ezconfig=EzConfiguration().getProperties()):
        mode = ezconfig.get(EzCAHandler.PERSIST_MODE, "file")
        if mode == "file":
            store = FilePersist(EzCAHandler.TABLE_NAME)
        elif mode == "accumulo":
            raise NotImplementedError("accumulo persistance not supported by EzCA yet")
        else:
            store = MemoryPersist()
        EzbakeCA.setup(store=store)
        Cert.setup(store=store)

        self.store = store
        try:
            logger.info("Reading CA certificate {}".format(ca_name))
            self.ca = EzbakeCA.get_named(ca_name)
        except KeyError:
            self.ca = EzbakeCA(name=ca_name)
        self.ca.save()
Пример #7
0
 def test_all(self):
     store = FilePersist("tmp", ["default", "test2table"])
     store.write('test', value='1')
     store.write('test', 'colf', value='2')
     store.write('test', 'colf', 'colq', value='3')
     store.write('test2', table="test2table", value='1')
     store.write('test2', 'colf2', table="test2table", value='2')
     store.write('test2', 'colf2', 'colq2', table="test2table", value='3')
     # TODO: some assertions
Пример #8
0
 def test_table_name(self):
     store = FilePersist("tmp", "table1")
     store.write("test", "colf", "colq", "table1", '12345')
     nt.assert_equal('12345', store.read("test", "colf", "colq", "table1"))
Пример #9
0
 def test_write_read_delete(self):
     store = FilePersist("tmp")
     store.write('test', value='1')
     nt.assert_equal('1', store.read('test'))
     store.delete('test')
     nt.assert_raises(KeyError, store.read, 'test')
Пример #10
0
 def test_write_read(self):
     store = FilePersist("tmp")
     store.write('test', value="1")
     nt.assert_equal("1", store.read('test'))
 def test_all(self):
     store = FilePersist("tmp", ["default", "test2table"])
     store.write('test', value='1')
     store.write('test', 'colf', value='2')
     store.write('test', 'colf', 'colq', value='3')
     store.write('test2', table="test2table", value='1')
     store.write('test2', 'colf2', table="test2table", value='2')
     store.write('test2', 'colf2', 'colq2', table="test2table", value='3')
 def test_table_name(self):
     store = FilePersist("tmp", "table1")
     store.write("test", "colf", "colq", "table1", '12345')
     nt.assert_equal('12345', store.read("test", "colf", "colq", "table1"))
 def test_write_read_delete(self):
     store = FilePersist("tmp")
     store.write('test', value='1')
     nt.assert_equal('1', store.read('test'))
     store.delete('test')
     nt.assert_raises(KeyError, store.read, 'test')
 def test_write_read_colq(self):
     store = FilePersist("tmp")
     store.write('test', value='1')
     store.write('test', 'colf', value='2')
     store.write('test', 'colf', 'colq', value='3')
     nt.assert_equal('1', store.read('test'))
     nt.assert_equal('2', store.read('test', 'colf'))
     nt.assert_equal('3', store.read('test', 'colf', 'colq'))
 def test_write_read(self):
     store = FilePersist("tmp")
     store.write('test', value="1")
     nt.assert_equal("1", store.read('test'))
Пример #16
0
 def setUp(self):
     if not os.path.isdir("test/tmp"):
         os.mkdir("test/tmp")
     fs = FilePersist("test/tmp")
     ezbakeca.EzbakeCA.setup(fs)