Sign inSign up

jsmac/smashbox

By jsmac

•Updated over 8 years ago

Smashbox: End-to-end testing the core storage functionality of ownCloud service installation

Image
0

185

jsmac/smashbox repository overview

⁠Overview

This is a framework for end-to-end testing the core storage functionality of owncloud-based service installation. This test framework may be run interactively from a command line, perform continous testing via cron jobs or stress/load testing. It may be easily integrated in testing and QA process.

What we check:

sync clients in various scenarios trashbin and versioning sharing of files and folders basic protocol checks and documentation

⁠Run the smashbox container

docker run -d -it --name smashbox jsmac/smashbox:latest

⁠Run Bash of the container Smashbox

docker exec -ti smashbox bash

⁠First test runs

On you owncloud account, create folder named testfolder or any name you are specifying as oc_server_folder in configuration file YOUR_NAME_FOR_FILE.config

Config JSON has a structure:

YOUR_NAME_FOR_FILE.config │ ├── config │ ├── remote : True/False | specifies if you would like to use remote storage │ ├── sniffer : True/False | specifies if you would like to catch all the packets flowing │ ├── backuplog : True/False | specifies if you would like to backup your test results to smashdir directory │ ├── remote_storage_server : ip address of your storage server - currently InfluxDB only supported │ ├── remote_database : name of the database at storage server │ ├── remote_storage_user : database user │ └── remote_storage_password : database password │ ├── sync_engines │ ├── engine : owncloud/dropbox/seafile | currently only those are supported │ ├── oc_server : server address | for seafile, use begining https:// e.g. https://seacloud.cc/⁠ │ ├── oc_account_name : dropbox/owncloud account name/seafile account name │ ├── oc_account_password : dropbox/owncloud account password/seafile account password │ ├── oc_server_folder : dropbox/owncloud account folder e.g. testfolder /seafile account lib which is XXX at https://seacloud.cc/#my-libs/lib/XXX⁠ e.g. 1ba5703c-c3b9-403e-ac3c-dec836076ce2 │ ├── oc_sync_cmd : dropbox/location of owncloudcmd e.g. /usr/bin/owncloudcmd -- │ ├── oc_ssl_enabled : true/false -- specify is server uses SSL │ ├── oc_webdav_endpoint : dropbox/owncloud endpoint e.g. remote.php/webdav/seafile actual version e.g. 4.3.2 │ └── oc_account_reset_procedure : dropbox/seafile/webdav_delete │ ├── tests │ ├── runid : specify runid to attach all the measurements to the one group │ ├── test_name : path to test in smashbox/lib directory │ └── testset : id of the test set │ ├── ensure_net_qos : secure against situation when you have very bad network condition on the test machine ├── timeout : define how long it will sync till it kills the process └── loop : number of loops

NEXT, you should create file testrun.config by nano testrun.config and insert the following file with your configurations

{ "config" : [ ], "sync_engines" : [ [ "engine=owncloud", "oc_server=YOUR_SERVER", "oc_account_name=YOUR_ACC", "oc_account_password=YOUR_PSW", "oc_server_folder=YOUR_REMOTE_FOLDER", "oc_sync_cmd=YOUR_CMD_DIR", "oc_webdav_endpoint=YOUR_WEBDAV e.g. remote.php/webdav", "oc_account_reset_procedure=webdav_delete", "oc_ssl_enabled=True", ], ], "tests" : [ { "runid" : "testrun", "test_name" : "performance/test_syncperf.py", "testset" : "0" }, ], "loop" : 1, "ensure_net_qos" : 10, "timeout" : 3600, }

⁠and confirm running the test

./smashbox-deamon testrun.config

or

./smashbox-deamon YOUR_NAME_FOR_FILE.config

Tag summary

Content type

Image

Digest

Size

726.1 MB

Last updated

over 8 years ago

docker pull jsmac/smashbox