From ac25239d2d121071953223cb0973de3f629d3251 Mon Sep 17 00:00:00 2001 From: Tony Mack Date: Thu, 31 Jan 2008 20:11:02 +0000 Subject: [PATCH] no longer rely on plcsh. Config will either import PLC.Shell or use xmlrpc, so use config.api --- qaapi/qa/tests/add_test_data.py | 45 ++++++++++------------------ qaapi/qa/tests/boot_node.py | 8 +++-- qaapi/qa/tests/check_boot_state.pyc | Bin 0 -> 1999 bytes qaapi/qa/tests/delete_test_data.py | 9 ++++-- qaapi/qa/tests/get_boot_state.py | 1 + qaapi/qa/tests/sync_person_key.py | 14 +++++---- 6 files changed, 37 insertions(+), 40 deletions(-) create mode 100644 qaapi/qa/tests/check_boot_state.pyc diff --git a/qaapi/qa/tests/add_test_data.py b/qaapi/qa/tests/add_test_data.py index d4983d6..9dc84ed 100644 --- a/qaapi/qa/tests/add_test_data.py +++ b/qaapi/qa/tests/add_test_data.py @@ -1,5 +1,4 @@ -#!/usr/bin/env /usr/share/plc_api/plcsh - +#!/usr/bin/python import os,sys from Test import Test from qa import utils @@ -9,7 +8,8 @@ class add_test_data(Test): Adds the test data found in config to the plc db """ def call(self): - + api = self.config.api + auth = self.config.auth # Make sure some required fields are in config required_fields = ['TEST_SITE_NAME', 'TEST_SITE_LOGIN_BASE', 'TEST_SLICE_NAME', 'TEST_PERSON_EMAIL'] required_node_fields = ['TEST_NODE_TYPE', 'TEST_NODE_METHOD', 'TEST_NODE_HOSTNAME', 'TEST_NODE_IP', @@ -70,11 +70,9 @@ class add_test_data(Test): # Add Test site - #sites = api.GetSites(auth, {'login_base': site_fields['login_base']}) - sites = GetSites({'login_base': site_fields['login_base']}) + sites = api.GetSites(auth, {'login_base': site_fields['login_base']}) if not sites: - #site_id = api.AddSite(auth, site_fields) - site_id = AddSite(site_fields) + site_id = api.AddSite(auth, site_fields) site_fields['site_id'] = site_id site = site_fields if self.config.verbose: @@ -86,11 +84,9 @@ class add_test_data(Test): # Add Test nodes for node_fields in node_list: - #nodes = api.GetNodes(auth, [node_fields['hostname']]) - nodes = GetNodes([node_fields['hostname']]) + nodes = api.GetNodes(auth, [node_fields['hostname']]) if not nodes: - #node_id = api.AddNode(auth, site_fields['login_base'], node_fields) - node_id = AddNode(site_fields['login_base'], node_fields) + node_id = api.AddNode(auth, site_fields['login_base'], node_fields) node_fields['node_id'] = node_id node = node_fields nodes.append(node_fields) @@ -103,8 +99,7 @@ class add_test_data(Test): # Add node network if not node['nodenetwork_ids']: - #nodenetwork_id = api.AddNodeNetwork(auth, node_fields['hostname'], node_fields) - nodenetwork_id = AddNodeNetwork(node_fields['hostname'], node_fields) + nodenetwork_id = api.AddNodeNetwork(auth, node_fields['hostname'], node_fields) if self.config.verbose: utils.header("Added test nodenetwork") else: @@ -112,11 +107,9 @@ class add_test_data(Test): utils.header("Nodenetwork found") # Add Test slice - #slices = api.GetSlices(auth, [slice_fields['name']]) - slices = GetSlices([slice_fields['name']]) + slices = api.GetSlices(auth, [slice_fields['name']]) if not slices: - #slice_id = api.AddSlice(auth, slice_fields) - slice_id = AddSlice(slice_fields) + slice_id = api.AddSlice(auth, slice_fields) slice_fields['slice_id'] = slice_id slice = slice_fields if self.config.verbose: @@ -130,8 +123,7 @@ class add_test_data(Test): node_ids = [n['node_id'] for n in nodes] node_ids = filter(lambda node_id: node_id not in slice['node_ids'], node_ids) if node_ids: - #api.AddSliceToNodes(auth, slice['name'], node_ids) - AddSliceToNodes(slice['name'], node_ids) + api.AddSliceToNodes(auth, slice['name'], node_ids) if self.config.verbose: utils.header("Added test slice to test nodes") else: @@ -139,11 +131,9 @@ class add_test_data(Test): utils.header("Test slice found on test nodes") # Add test person - #persons = api.GetPersons(auth, [person_fields['email']]) - persons = GetPersons([person_fields['email']]) + persons = api.GetPersons(auth, [person_fields['email']]) if not persons: - #person_id = api.AddPerson(auth, person_fields) - person_id = AddPerson(person_fields) + person_id = api.AddPerson(auth, person_fields) person_fields['person_id'] = person_id person = person_fields if self.config.verbose: @@ -154,12 +144,10 @@ class add_test_data(Test): utils.header("Test person found") # Add roles to person - #api.AddRoleToPerson(auth, 'user', person['email']) - AddRoleToPerson('user', person['email']) + api.AddRoleToPerson(auth, 'user', person['email']) # Add person to site if site['site_id'] not in person['site_ids']: - #api.AddPersonToSite(auth, person['email'], site['login_base']) - AddPersonToSite(person['email'], site['login_base']) + api.AddPersonToSite(auth, person['email'], site['login_base']) if self.config.verbose: utils.header("Added test person to test site") else: @@ -168,8 +156,7 @@ class add_test_data(Test): # Add person to slice if slice['slice_id'] not in person['slice_ids']: - #api.AddPersonToSlice(auth, person_fields['email'], slice_fields['name']) - AddPersonToSlice(person_fields['email'], slice_fields['name']) + api.AddPersonToSlice(auth, person_fields['email'], slice_fields['name']) if self.config.verbose: utils.header("Added test person to slice") else: diff --git a/qaapi/qa/tests/boot_node.py b/qaapi/qa/tests/boot_node.py index 5d043c5..cc56c87 100644 --- a/qaapi/qa/tests/boot_node.py +++ b/qaapi/qa/tests/boot_node.py @@ -1,4 +1,4 @@ -#!/usr/bin/env /usr/share/plc_api/plcsh +#!/usr/bin/python import os,sys import base64 @@ -13,14 +13,16 @@ class boot_node(Test): """ def call(self, hostname, image_type = 'node-iso', disk_size="4G"): + api = self.config.api + auth = self.config.auth tdir = "/tmp/" # validate hostname - nodes = GetNodes([hostname], ['hostname']) + nodes = api.GetNodes(auth, [hostname], ['hostname']) if not nodes: raise Exception, "No such node %(hostname)s" % locals() - bootimage = GetBootMedium(hostname, image_type, '') + bootimage = api.GetBootMedium(auth, hostname, image_type, '') bootimage_path = '/%(tdir)s/%(hostname)s-bootcd.iso' % locals() if self.config.verbose: diff --git a/qaapi/qa/tests/check_boot_state.pyc b/qaapi/qa/tests/check_boot_state.pyc new file mode 100644 index 0000000000000000000000000000000000000000..61c50bbe6c3f9d661fbf05ae16a57921c632a067 GIT binary patch literal 1999 zcmZWq&2HO95T2#}Y}rcVpSX67HjAJJWVEn=oC_pq(B|d?Z6K&F1Wk^lwJ5H{UB)&b z0Y#ld4}E~%dhAp5rTPS&8A_I&O4{M?3D|NQwrf#s)0&$l$(uOw1{ zF+jgk6!ev>1kev4RWPnWR)>BaR2smz0a*k34Vu&d8!#Z-I(!1S2l%Dm1Z+Xtfa?J4 zx1ewXP=VQmv1Osrx(w)kCs%DvpLaI*CNJYGyVHX1 zv>%~fyU=zZD{hL385m4;Zd24HZOa4!4Q(jIM&1+{6Oa>#@BhD?;#E1+w%Q;7-b~Pz zUK^*Yz3G{5%bUyPn*yf=I?R1VE}l%-o{5ox?wVXrCBU@&v7KEe<54A7u zOg_|CIIsokS!q0lJv^)YTx5t-a?W0I^g>#kLzMH%%@z6^#C(~- zC2EMiEb?_ewH(G5S_%_$w!EXU@(fKVfTfDH?f;s)9ME1X2Y{Ko| zFyDabU!Xomt~34vG8OsJq7L&qm;ceCu_Cnt_K@&*!R&F>FWpk@OR>)zkWzzez%YR8 zCfGKa?sIsv*&|Z(O}GZIJJr$)nAd;-#OA^J!!je}@GX%QU?Rwc%)v1sGG|`ov*wy&ja@+Kh~8 z_ka+^!OwB#P<-MowSwFUm<@cB45-EjX6S3A##1Bj;?j>KFYnQxQ{lRhuPQ;}I(AfI z06*O(IQ51)j!`n3kPq3-T`CzO&V`R;$`>9h)W`yid0M?-DvTKhY{6z9vAD9t_Tgd_ z{1L_}7J`3Sl+|0ueca^+3VEZD40l*NWUy-^7iB)~&0rkb_w(8GP8d=uvVFpGuNhl4)wbHM9jlhw z54P2_pav~rze#qgt8k>cdfO*V!nWEE-_G(dpESFF7xvF0pvJ@a|P!aXCg Pt2QY+o#5bghqCh@QSq@I literal 0 HcmV?d00001 diff --git a/qaapi/qa/tests/delete_test_data.py b/qaapi/qa/tests/delete_test_data.py index 431e5de..b6c1f45 100644 --- a/qaapi/qa/tests/delete_test_data.py +++ b/qaapi/qa/tests/delete_test_data.py @@ -1,4 +1,4 @@ -#!/usr/bin/env /usr/share/plc_api/plcsh +#!/usr/bin/python import os, sys from Test import Test @@ -11,11 +11,14 @@ class delete_test_data(Test): """ def call(self): - + api = self.config.api + auth = self.config.auth site_login_base = self.config.TEST_SITE_LOGIN_BASE + slice_name = self.config.TEST_SLICE_NAME # Deleting the site should delete everything associated with it - DeleteSite(site_login_base) + # including nodes, persons + api.DeleteSite(auth, site_login_base) if self.config.verbose: utils.header("Test data deleted") diff --git a/qaapi/qa/tests/get_boot_state.py b/qaapi/qa/tests/get_boot_state.py index 95dd7c3..bebba96 100644 --- a/qaapi/qa/tests/get_boot_state.py +++ b/qaapi/qa/tests/get_boot_state.py @@ -1,3 +1,4 @@ +#!/usr/bin/python import os, sys import time from qa import utils diff --git a/qaapi/qa/tests/sync_person_key.py b/qaapi/qa/tests/sync_person_key.py index aa26046..d836964 100755 --- a/qaapi/qa/tests/sync_person_key.py +++ b/qaapi/qa/tests/sync_person_key.py @@ -1,4 +1,4 @@ -#!/usr/bin/env /usr/share/plc_api/plcsh +#!/usr/bin/python import os, sys from Test import Test from qa import utils @@ -11,6 +11,7 @@ class sync_person_key(Test): """ def make_keys(self, path, name): + if not os.path.isdir(path): os.mkdir(path) key_path = path + os.sep + name @@ -18,6 +19,8 @@ class sync_person_key(Test): (stdout, stderr) = utils.popen(command) def call(self, email): + api = self.config.api + auth = self.config.auth email_parts = email.split("@") keys_filename = email_parts[0] keys_path = self.config.KEYS_PATH @@ -25,7 +28,7 @@ class sync_person_key(Test): public_key_path = private_key_path + ".pub" # Validate person - persons = GetPersons([email], ['person_id', 'key_ids']) + persons = api.GetPersons(auth, [email], ['person_id', 'key_ids']) if not persons: raise Exception, "No such person %(email)s" person = persons[0] @@ -43,19 +46,19 @@ class sync_person_key(Test): public_key_file = open(public_key_path, 'r') public_key = public_key_file.readline() - keys = GetKeys(person['key_ids']) + keys = api.GetKeys(auth, person['key_ids']) if not keys: # Add current key to db key_fields = {'key_type': 'ssh', 'key': public_key} - AddPersonKey(person['person_id'], key_fields) + api.AddPersonKey(auth, person['person_id'], key_fields) if self.config.verbose: utils.header("Added public key in %(public_key_path)s to db" % locals() ) else: # keys need to be checked and possibly updated key = keys[0] if key['key'] != public_key: - UpdateKey(key['key_id'], public_key) + api.UpdateKey(auth, key['key_id'], public_key) if self.config.verbose: utils.header("Updated plc with new public key in %(public_key_path)s " % locals()) else: @@ -65,3 +68,4 @@ class sync_person_key(Test): if __name__ == '__main__': args = tuple(sys.argv[1:]) sync_person_key()(*args) + -- 2.43.0