feat: Add system test for etcd

This commit is contained in:
hudeng
2022-02-09 18:21:00 +08:00
committed by André Roth
parent 78172d11d7
commit f29449db14
4 changed files with 46 additions and 14 deletions

27
system/leveldb2etcd.py Normal file
View File

@@ -0,0 +1,27 @@
#!/usr/bin/env python
import leveldb
import etcd3
import argparse
from termcolor import cprint
if __name__ == "__main__":
parser = argparse.ArgumentParser()
parser.add_argument("--datadir", required=True, help="leveldb data dir")
parser.add_argument("--etcdaddr", default="127.0.0.1", help="etcd server address")
parser.add_argument("--etcdport", default="2379", help="etcd server address")
args = parser.parse_args()
ldb = leveldb.LevelDB(args.datadir)
etcd = etcd3.client(args.etcdaddr, args.etcdport)
for key, value in ldb.RangeIter():
try:
keystr = str(bytes(key))
valuestr = str(bytes(value))
etcd.put(keystr, valuestr)
# cprint("key: "+keystr+", value: "+valuestr+"put success!\n", 'green')
except Exception as e:
cprint("key: " + keystr + ", value: " + valuestr + "put err: " + str(e) + "\n", 'red')
exit(1)

View File

@@ -133,6 +133,10 @@ class BaseTest(object):
aptlyDir = ".aptly"
aptlyConfigFile = ".aptly.conf"
expectedCode = 0
databaseEtcd = os.environ.get("APTLY_ETCD_DATABASE")
if databaseEtcd is None:
databaseEtcd = ""
configFile = {
"rootDir": f"{os.environ['HOME']}/{aptlyDir}",
"downloadConcurrency": 4,
@@ -151,7 +155,8 @@ class BaseTest(object):
"enableMetricsEndpoint": True,
"logLevel": "debug",
"logFormat": "default",
"serveInAPIMode": True
"serveInAPIMode": True,
"databaseEtcd": databaseEtcd,
}
configOverride = {}
environmentOverride = {}

View File

@@ -5,3 +5,5 @@ requests-unixsocket
python-swiftclient
flake8
termcolor
etcd3
leveldb