Metadata-Version: 2.1
Name: setuptest
Version: 1.0.2
Summary: The Selenium based setuptest for the CYBR CSCW-SUITE (CCS). 1.download: wget sourceforge.net/projects/c-c-s/files/latest/download  2.install-app: docker-compose up --build  3.get-test: pip3 install ccs-setuptest-v1 --user 4.setup-and-test(execute locally - install on server by typing in your command-line): ccs-setuptest.py
Home-page: https://c-c-s.sourceforge.io/
Author: Florian Strahberger
Author-email: flori@ctemplar.com
License: MIT
Keywords: CYBR CSCW-SUITE,CCS,digital workplace,project management,digitalization,communication,collaboration,groupware,setup.install,test,selenium,pytest,chromedriver,setuptest
Platform: UNKNOWN
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.6
Description-Content-Type: text/markdown
Requires-Dist: atomicwrites (==1.3.0)
Requires-Dist: attrs (==19.3.0)
Requires-Dist: importlib-metadata (==0.23)
Requires-Dist: more-itertools (==7.2.0)
Requires-Dist: packaging (==19.2)
Requires-Dist: pluggy (==0.13.0)
Requires-Dist: py (==1.8.0)
Requires-Dist: pyparsing (==2.4.2)
Requires-Dist: pytest (==5.2.2)
Requires-Dist: selenium (==3.141.0)
Requires-Dist: six (==1.12.0)
Requires-Dist: urllib3 (==1.25.6)
Requires-Dist: wcwidth (==0.1.7)
Requires-Dist: zipp (==0.6.0)

#  The python-based setuptest for the CYBR CSCW-SUITE (CCS): https://c-c-s.sourceforge.io/
 (will use selenium & pytest)
**Requirements:**
1. python3 
2. Chrome
3. ChromeDriver (must fit to the Chrome-version!). 
+ Get ChromeDriver from: https://chromedriver.chromium.org/)
+ or from the source mentioned in the setup-tutorial related to your local operation system (Windows, Mac, Linux ..)

**NOTICE #1: This setuptest is part of the CYBR-CSCW-SUITE (CCS)**
 - you can get this FREE groupware-solution via sourceforge:

https://c-c-s.sourceforge.io/


### Context:
the ccs-setuptest is simulating the user's / application-administrator's setup-steps with the help of selenium & pytest.
**the setuptest will perform the automated steps outgoing from your LOCAL MACHINE accessing the ccs-web-app ON YOUR SERVER**

+ creating the database-tables
+ creating a Super-Admin account (= the First User who makes the registration!)
+ based on this Super-User-permission: login, open the ccs-management & creates the slots for 5 projects 
(with the Super-User as Project Administrator & Entering the SendGrid API-Key for the email-functionality)
+ logging into project1 & creating a Project & the WBS (Work-Breakdown-Structure)
+ creating a user-profile, performing a personality-assessment from the build-in personality-test & checking the user's CFLX
+ making some posts & direct-answers (repetitive for all WBS-Levels)

**NOTICE #2:**
1. these are simulated tasks, you can & will perform most of them manually for your real projects in the same way
2. if you run this test, the project in slot1 will be populated with the example-project. It might be a good idea, to keep it that way - or even better: later modify the content to meet yor needs / create a WBS representing a structure for a typical project of your group or organization for an extended deployment throughout the company.


## prepare, install & usage:

## A) The short cli description (works for Linux-users - adapt accordingly if you are on Windows or Mac - or check the B) long version below)


* Be aware: you need to make the mandatory needed changes within the Conf/test_configVars.py file **before you make the installation!**

**a) download & unzip the setuptest.zip from sourceforge:**

    wget https://sourceforge.net/projects/setuptest/files/setuptest.zip/download

 **unzp into the ccstest/ created directory:**

	python3 -m zipfile -e download ccstest

**b) modify the configuration-file "Conf/test_configVars.py":**

 *open the Conf/test_configVars.py file & make the needed modifications: (at least: set the correct IP)*

	nano ccstest/setuptest/Conf/test_configVars.py
**c) save & overwrite the test_configVars.py** 

------
**a temporary BUG-STOP HERE!**

... there seems to be a problem with the build at the moment.

**workaround until fixed:**

1. install the requirements manually (selenium & pytest via pip):

	pip3 install selenium

	pip3 install pytest

2. navigate into the unzipped setuptest with the modified Conf/test_configVars.py file and simply start with:

	pytest RunSetups/ 

and:

	pytest Tests/



------

**d) install the ccs-setuptest:**

	python3 setup.py install --user

**e) run the setup, install & test automation for the installed CYBR CSCW-SUITE (CCS) by typing:**

	setuptest.py

**f) execute the ccs-setuptest, check values & click the [INSTALL] btn**

=> Enjoy the test & setup-automation.
-----------------------------------------------

## B) the longer version:

### 1. prepare the setup (download, unzip, modify the Conf/test_configVars.py)

	https://sourceforge.net/projects/setuptest/files/latest/download

1. download, unzip & cd into the setuptest/

2. open the Conf/test_configVars.py with your text-editor (editor,nano,gedit,touch, whatever ...)

3. modify / exchange the dummy-values with those fitting to your own situation
(eg: enter the IP of your server where you have the CCS running, exchange the SendGrid API-Key, the email & its public PGP-Key)

save / override the yet modified test_configVars.py file

### 2. install
* you need the setuptools installed on your machine. Check / install via pip3:

	pip3 install setuptools --user

**If you are new to python & the usage of setuptools:**
if there is a setup.py within a python package, you simply can install it (based on the installed setuptools) with:

	python3 setup.py install --user

### 3. run the setup, install & test automation for the installed CYBR CSCW-SUITE (CCS) by typing:

	setuptest.py

### 4. execute the ccs-setuptest, check values & click the [INSTALL] btn**

=> Enjoy the test & setup-automation.
------------------------------------------------------------------------------------------------------------

## The setuptest will:
  * Open the Conf/test_configVars.py file, so you can modify the values (The IP of your CCS, the SendGrid API-Key, E-Mail-Address & publicPGP-Key ..)
  * Call the installation-script for creating the database-tables of your CCS
  * Make the automated setup for your first 5 projects
  * Will create a testing-project and simulate an admin who is creating a project, a WBS, creates a user-profile, testst the user's CFLX, starts to make a posting.

--------------------------------------------------------------------------------------------------------------

## How to install the CYBR CSCW-SUITE (CCS) on your server:
**Requirements: Linux & docker / docker-compose installed**

* from the terminal of your Linux-server / VPS (if you need one, then get one via: https://www.mvps.net/?aff=6517 - and support my server-costs)

    wget sourceforge.net/projects/c-c-s/files/latest/download


    docker-compose up --build

## Installation & Execution of this ccs-setuptest
Requires ChromeDriver & Chrome Web-Browser to be installed - ensure to have the correct versions which fit to each other!
Installation is easy - check the docs / tutorials for your local Operation System (Windows / Mac / Linux), then proceed and:


## Detailed usage of the ccs-setuptest

<1st page>
* The yellow [CONTINUE] button
will open the page displaying the actual setup-install values.

<2nd page>
* The yellow [SETUP] button will open the Conf/test_configVars.py file, so you can modify the values (The IP of your CCS, the SendGrid API-Key, E-Mail-Address & publicPGP-Key ..)

**make the changes, save & re-run with:**

    setuptest.py

<2nd page>
* The red [INSTALL] button (bottom of 2nd page) will perform the installation with the values
 & perform a fully automated show-up-test showing and explaining you the basic functionalities
 for setting-up the projects as well as how to use the application.

**NOTE: this will use the first slot of your CCS and populate it with an example project!**

This means, your per default available projects for your productive work will be reduced to 4,
unless you decide to fully delete the database-tables of projectdb1 database - and rebuild the tables by calling:
https://[IP or domain]/1/zubringer/create8Tables.php

### manually start & select the setup, installation & testing-scripts
At first, you need to make the settings by modifying the Conf/test_configVars.py file with the text-editor of your choice (nano, gedit, touch, editor) - then you can call the scripts via pytest


#### You can call the scripts manually - and only the selected one or ones from your terminal / console/ bash/ shell/ as well:

  *  for running all tests within the directory: pytest foldername/

eg for running all setups or running all tests:


    pytest RunSetups/
or:

    pytest Tests/


  *  for running a single test, cd to the test and type: pytest filename.py (see details below)

#### Setup-Scripts available:
**`cd RunSetups/`**

	pytest test_ini_1_createTables.py

	pytest test_ini_2_registerSuperadmin.py

	pytest test_ini_3_1stProjectSetup.py

	pytest test_ini_4_4ProjectsSetup.py

#### Walk-Through tests available (still in beta: will work, but might throw errors. Its a test-script issue then - not an application one!):
**`cd Tests/`**

	pytest test_loginCreateProjectCreateWBS.py

	pytest test_loginMakePosts.py 

	pytest test_loginPersProfileComplete.py


## if you need to make changes to the Conf/test_configVars.py afterwards

**YOU CANNOT SIMPLY CHANGE THE VALUES FROM WITHIN THE DOWNLOAD-FOLDER**
... the installation is moving the files which are executed to an other, Operation-System-dependend place.
After the installation, a change of the file - like performed via:

	nano ccstest/setuptest/Conf/test_configVars.py 

will have no effect.

### but you can simply uninstall, delete all the unzipped setuptest folders & start from a new unzip:

1. uninstall:

	pip3 uninstall ccs-setuptest-v1

2. remove all of the unzipped folders

3. unzip the downloaded setuptest.zip folder, and now you can make the changes of the Conf/test_configVars.py file

4. store the modified file

5. install the setuptest again via:

    	python3 setup.py install --user

6. execute via:

    setuptest.py

7. click [CONTINUE], check the -yet hopefully modified- values, scroll down & click [INSTALL]

enjoy the automation.





