Skip to content

Commit

Permalink
Create-move-delete webdav test for home folder, system buckets and pe…
Browse files Browse the repository at this point in the history
…rsonal buckets
  • Loading branch information
sunetfreitag committed Nov 28, 2023
1 parent efb3bdb commit 0744fb8
Showing 1 changed file with 79 additions and 0 deletions.
79 changes: 79 additions & 0 deletions test_webdav.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
import logging
import threading
import time
from datetime import datetime

import sunetdrive

Expand All @@ -20,6 +21,7 @@
g_sharedTestFolder = 'SharedFolder'
g_personalBucket = 'selenium-personal'
g_systemBucket = 'selenium-system'
g_filename=datetime.now().strftime("%Y-%m-%d_%H-%M-%S")
ocsheaders = { "OCS-APIRequest" : "true" }
logger = logging.getLogger(__name__)
logging.basicConfig(format = '%(asctime)s - %(module)s.%(funcName)s - %(levelname)s: %(message)s',
Expand Down Expand Up @@ -323,6 +325,62 @@ def run(self):
logger.info(f'WebDAVSystemBucketFolders thread done for node {self.name}')
testThreadRunning = False

def webdav_create_move_delete(fullnode, target):
drv = sunetdrive.TestTarget()
nodeuser = drv.get_seleniumuser(fullnode)
nodepwd = drv.get_seleniumuserpassword(fullnode)
url = drv.get_webdav_url(fullnode, nodeuser)
logger.info(f'URL: {url}')
options = {
'webdav_hostname': url,
'webdav_login' : nodeuser,
'webdav_password' : nodepwd
}

filename = g_filename + '.txt'
mvfilename = 'mv_' + filename
with open(filename, 'w') as f:
f.write('Lorem ipsum')
f.close()


client = Client(options)
client.mkdir(target)
targetfile=target + '/' + filename
targetmvfile=target + '/' + mvfilename
deleteoriginal=False
testPassed = True
try:
logger.info(f'Uploading {filename} to {targetfile}')
client.upload_sync(remote_path=targetfile, local_path=filename)
except:
logger.error(f'Error uploading file')
testPassed = False
try:
logger.info(f'moving {targetfile} to {targetmvfile}')
client.move(remote_path_from=targetfile, remote_path_to=targetmvfile)
except:
logger.error(f'Error moving the file')
testPassed = False
try:
logger.info(f'Removing file {targetmvfile}')
client.clean(targetmvfile)
except:
logger.error(f'Error deleting the file')
deleteoriginal=True
testPassed = False
pass

if deleteoriginal:
try:
logger.info(f'Removing original file {targetfile}')
client.clean(targetfile)
except:
logger.error(f'Error deleting the original file')

os.remove(filename)
return testPassed

class TestWebDAV(unittest.TestCase):
def test_logger(self):
global logger
Expand Down Expand Up @@ -402,6 +460,27 @@ def system_bucket_folders(self):
while(testThreadRunning == True):
time.sleep(1)

def cmd_in_home_folder(self):
drv = sunetdrive.TestTarget()
for fullnode in drv.fullnodes:
with self.subTest(mynode=fullnode):
testPassed = webdav_create_move_delete(fullnode, 'selenium-home')
self.assertTrue(testPassed)

def cmd_in_personal_bucket(self):
drv = sunetdrive.TestTarget()
for fullnode in drv.fullnodes:
with self.subTest(mynode=fullnode):
testPassed = webdav_create_move_delete(fullnode, 'selenium-personal')
self.assertTrue(testPassed)

def cmd_in_system_bucket(self):
drv = sunetdrive.TestTarget()
for fullnode in drv.fullnodes:
with self.subTest(mynode=fullnode):
testPassed = webdav_create_move_delete(fullnode, 'selenium-system')
self.assertTrue(testPassed)

if __name__ == '__main__':
import xmlrunner
# unittest.main()
Expand Down

0 comments on commit 0744fb8

Please sign in to comment.