Commit Graph

519 Commits

Author SHA1 Message Date
Anton B
659c4030dd Merge branch 'v2.6.x-release' into presentation-test-impr 2023-04-10 15:50:49 -03:00
Anton B
682fbb20a0 test: add missing timeout on actions 2023-04-06 11:44:03 -03:00
Anton B
a1c38ab09c test: add missing empty line in the end of the files 2023-04-05 18:10:19 -03:00
Anton B
57f567b877 test: improve presentation upload test assertion 2023-04-05 18:02:40 -03:00
Anton Georgiev
8ab5ce0c0a
Merge branch 'v2.6.x-release' into newline-at-end-of-file 2023-04-05 14:16:44 -04:00
Anton Georgiev
7c99d73573
Merge pull request #17428 from BrentBaccala/shared-notes-visual-test
test suite: add a visual regression test for shared notes
2023-04-05 14:14:49 -04:00
Anton Georgiev
51fdf05242
Merge pull request #17430 from BrentBaccala/gns3-placeholder
test: GNS3 placeholder
2023-04-05 13:57:21 -04:00
Anton Georgiev
6c647ada0d
Merge pull request #17200 from gabriellpr/learning-dashboard-tests-add
test: new learning dashboard
2023-04-04 13:27:19 -04:00
Brent Baccala
513dca6895 gns3 virtual testing network: add a .gitignore file to ignore the NPDC subdirectory and the SSL root certificate and key 2023-04-03 16:30:59 -04:00
Brent Baccala
f48b8aa602 gns3 virtual testing network: add a placeholder.sh script, since git submodules can't be used
because of a backwards compatibility issue with SVN
2023-04-03 16:30:06 -04:00
Brent Baccala
992cef8ad8 test suite: add newlines at the end of puppeteer javascript files that didn't have them 2023-04-03 16:23:26 -04:00
Brent Baccala
a2d1ab1ee5 test suite: add newlines at the end of playwright javascript files that didn't have them 2023-04-03 16:21:24 -04:00
Brent Baccala
ffb28ce079 test suite: add a visual regression test for shared notes, attempting to reproduce issue #16871 2023-04-03 16:14:58 -04:00
Anton Georgiev
b64d3c79d3
test: update instructions to only test specific browser
credits: @antonbsa
2023-03-31 15:37:07 -04:00
Gabriel Porfirio
7f65cbc5f6 download session learning dashboard test added 2023-03-31 13:29:18 -03:00
Gabriel Porfirio
f6499efcca created rowFilter function 2023-03-30 10:01:01 -03:00
Anton B
b41ba76365 test: fix webcam test name 2023-03-29 13:56:53 -03:00
Anton B
8ff1493d6b test: add webcam fullscreen test 2023-03-29 13:49:22 -03:00
Anton B
3a7b59c19a test: add video quality and background webcam tests 2023-03-29 11:16:47 -03:00
Anton B
4b5d4e9e2a Merge remote-tracking branch 'upstream/v2.6.x-release' into webcam-tests 2023-03-29 10:29:58 -03:00
Gabriel Porfirio
08c3d04fcf Merge remote-tracking branch 'upstream/v2.6.x-release' into learning-dashboard-tests-add 2023-03-28 17:06:18 -03:00
Anton Georgiev
bef87282e0
Merge pull request #16961 from MaximKhlobystov/whiteboard-tests-and-refactoring
test: new whiteboard tests + refactoring of visual regression tests
2023-03-27 13:35:18 -04:00
Anton Georgiev
7f6f7d262b
Update bigbluebutton-tests/playwright/whiteboard/whiteboard.spec.js
Co-authored-by: Anton Barboza de Sá <antonbsa.bck@gmail.com>
2023-03-27 10:42:04 -04:00
Gabriel Porfirio
254d8e66ca Merge remote-tracking branch 'upstream/v2.6.x-release' into learning-dashboard-tests-add 2023-03-27 11:36:39 -03:00
Calvin Walton
a047cda1e9 build: removing git submodule (in addition to submodule config) 2023-03-24 11:10:12 -04:00
Brent Baccala
f9e4434605
gns3 virtual network for testing (#15673)
* add scripts to create gns3 virtual network for testing

* gns3 virtual testing network: introduce declarative syntax, i.e,
declare the objects we want and only create them if they don't exist

* gns3 virtual testing network: improve node autostart logic

* gns3 virtual testing network: because of declarative syntax,
we no longer need a special --create-test-server option

* gns3 virtual testing network: allow for servers based on arbitrary git commits

* gns3 virtual testing network: avoid browsers complaining about duplicate certificate serial numbers

* gns3 virtual testing network: allocate space for two more servers

* gns3 virtual testing network: add subnets to NAT devices, so they will boot properly

* gns3 virtual testing network: allow number of ports on an Ethernet switch to be configured

* gns3 virtual testing network: move everything 100 units to the left to center PublicIP switch

* gns3 virtual testing network: restart the server by stop'ing and start'ing it
because bbb-conf --restart doesn't start nginx if it isn't running

* gns3 virtual testing network: -d switch now deletes one server;
--delete-everything does what -d used to do

* gns3 virtual testing network: new GUI image name (it's different for every user)

* gns3 virtual testing network: start node logic now marks
previously running nodes as started

* gns3 virtual testing network: add a Bash function to automate ssh logins

* gns3 virtual testing network: use "$@" instead of $* when relaying arguments to a bash command

* gns3 virtual testing network: allow ssh connections to arbitrary hosts behind NAT4

* gns3 virtual testing network: improve start node logic to start new servers when NAT1 already running

* gns3 virtual testing network: add scp command to bigbluebutton-ssh.sh

* gns3 virtual testing network: gns3-bbb.py script now accepts a list of
servers to install, or nothing to just install the infrastructure

* gns3 virtual testing network: can now copy SSL CA key and certificate
from local directory to virtual machine instead of always having the
VM create a new CA

* gns3 virtual testing network: get the quoting right in scp shell function for filenames with spaces

* gns3 virtual testing network: update README

* gns3 virtual testing network: update README

* gns3 virtual testing network: add NPDC submodule and use its gns3 import in gns3-bbb.py

* gns3 virtual testing network: use 3 network interfaces for testclient

* gns3 virtual testing network: renumber NAT devices to match interface numbering on testclient

* gns3 testing network: fix dnsmasq configuration on NAT1 so that it works for devices on the PublicIP subnet

* gns3 testing network: fix dnsmasq configuration on NAT4/5/6, but still not quite right

* gns3 testing network: "fix" dnsmasq configuration so that proxyjumped ssh works,
along with access to the servers from the testclients

* gns3 virtual testing network: label subnet switches with their CIDR prefices

* gns3 virtual testing network: move the clients and their switches a bit to the right

* gns3 virtual testing network: rename NAT1 to be the project name (default BigBlueButton)
and get rid of InternetSwitch, that I never use

* gns3 virtual testing network: allow multiple clients, all names starting with 'testclient'

* gns3 virtual testing network: factor out server NAT code, to allow for recreating deleted server NAT nodes

* gns3 virtual testing network: refactor client code (move things inside the function)
and set "dhcp-identifier: mac" on all client interfaces

* gns3 virtual testing network: make NAT1 advertise itself as ca.test into DNS domain test

* gns3 virtual testing network: refactor master gateway code into its own subroutine

* gns3 virtual testing network: better use of the gns3 library support for declarative nodes
(nodes that are declared but only created if they don't already exist)

* code cleanups; make notification_url consistently a global var;
change label on cloud from "Internet" to interface name

* typos from 39c5d6

* gns3 virtual testing network: move certificate authority from /ca to /opt/ca

* gns3 virtual testing network: move testserver.sh from / to /root

* gns3 virtual testing network: master gateway can now web proxy for servers, allowing
a web browser on the bare metal machine to access those servers

* gns3 virtual testing network: use a file() function instead of a predetermined list of files we need

* gns3 virtual testing network: add a minimal bird configuration to use OSPF to make proxy work

* gns3 virtual testing network: new-dhcp-lease.sh now picks mac addresses
based on server name, allowing multiple servers, and some bug fixes

* gns3 virtual testing network: get rid of generate NAT per-boot script (do everything at boot with iptables-persistent)

* gns3 virtual testing network: move client NAT boxes 50 coordinates to the right

* gns3 virtual testing network: autostart the nodes that were created

* gns3 virtual testing network: use 2 minute DHCP leases to make
it quicker to recover from update that replace the NAT devices

* gns3 virtual testing network: change NAT rules around because server needs to connect to itself during bbb-install

* gns3 virtual testing network: use version of NPDC that has 2 minutes timeouts
on the bare metal machine's DHCP leases

* gns3 virtual testing network: Improve the DNS configuration by configuring
the gateway to not use the bare metal machine for DNS lookups on the ".test"
domain, on either the real interface or the dummy interfaces used to
inject DNS names into the bare metal machine's DNS table.  This removes
the need to put entries into /etc/hosts (which was causing problems
when things changed IP addresses) because the gateway now consistently
uses its own DNS server (dnsmasq) to resolve the ".test" domain.

* gns3 virtual testing network: set "noninteractive" flag when updating
persistent iptables, otherwise the system tries to prompt the user
during an automatically cloud-init run (the prompts show up in
/var/log/cloud-init-output.log and stall the cloud-init run)

* gns3 virtual testing network: configure proxy to redirect http->https for the BigBlueButton servers

* gns3 virtual testing network: put some extra checks on the SSL certificates
generated for the proxy server, because if they're screwed up the apache
web server won't start at all

* gns3 virtual testing network: simplify getportrange.cgi by just having it accept GETs

* gns3 virtual testing network: two bug fixes with punching UDP ports through the proxy server
   1. if the server changed public IP addresses, a new iptables rule was not created
   2. the math was wrong; it's supposed to be a range of 100 ports, not 1000

* gns3 virtual testing network: iptables rules still weren't right on
the server's NAT gateways; connections to the gateway (128.8.8.254)
need to go through (they weren't), while only connections to the server get hairpined back

* gns3 virtual testing network: make NAT gateways listen for ssh on port 2222,
so you can connect to them easily (with a suitable ssh config file) by
just doing "ssh -p 2222 focal-260"

* gns3 virtual testing network: now that DNS is working right (read: better),
we don't need the funky shell functions for ssh and scp

* gns3 virtual testing network: updated README

* gns3 virtual testing network: switching to ISC bind/dhcpd for dynamic DNS
and dropping the proxy server and the restricted port ranges
This version works, but still has issues

* gns3 virtual testing network: don't need new-dhcp-lease.sh anymore
(it's now done by ISC dhcpd server, which has built-in support for DDNS)

* gns3 virtual testing network: DDNS server no longer requires crypto key

* gns3 virtual testing network: rearrange some comments, remove an unused script

* gns3 virtual testing network: no longer need to set a port range on the servers,
since they are directly reachable from the bare metal machine using OSPF and dynamic DNS

* gns3 virtual testing network: drop final remnants of old "NAT1"
name; it's now consistently "master gateway"

* gns3 virtual testing network: reduce DHCP lease times to ten seconds

* gns3 testing network: move testserver.sh from /root to /, because ubuntu needs permission to exec it

* gns3 virtual testing network: move client nodes a bit to the right in the GUI

* gns3 virtual testing network: simplify bird (OSPF) configuration a bit

* gns3 virtual testing network: add --public-subnet and --domain options

* gns3 virtual testing network: use most recent ubuntu-open-desktop image, if several are available

* gns3 virtual testing network: pick up the server's domain name from
the testing network now that we have a --domain option (commit f35f21)

* gns3 virtual testing network: introduce --server-subnet option

* gns3 virtual testing network: label server subnets with subnet prefix (if possible)

* gns3 virtual testing network: all calls to dpkg-reconfigure are noninteractive

* gns3 virtual testing network: turn off DHCP/DDNS conflict detection

* gns3 virtual testing network: use 120 second DHCP leases; 10 second leases were a problem

* gns3 virtual testing network: fix commands to save iptables (wasn't saving NAT table)

* gns3 virtual testing network: add a 'certbot' node running Let's Encrypt's boulder server

* gns3 virtual testing network: switch 'certbot' to use smallstep's step-ca server

* gns3 virtual testing network: first attempt to dummy letsencrypt's acme service (doesn't work)

* gns3 virtual testing network: a dummy ACME server works; server certbots use it to get SSL certificates

* gns3 virtual testing network: switch testservers to use certbot to get SSL certificates

* gns3 virtual testing network: put generateCA.sh back in (in case CA key and cert don't already exist), and remove getcert.cgi

* gns3 virtual testing network: add a standard BigBlueButton turn server

* gns3 virtual testing network: can now use 400 permission for CA key file

* gns3 virtual testing network: dnsmasq cname doesn't work with IP addresses (why should it?); use interface_name instead

* gns3 virtual testing network: install server certificate from cloud-init, rather than doing it after boot

* gns3 virtual testing network: fix certbot on master gateway so that it can update certificates as they expire

* gns3 virtual testing network: only build and/or start NAT4/5/6 if testclient is requested

* gns3 virtual testing network: generate root CA certificate on bare metal machine and install it in all VMs from there

* gns3 virtual testing network: use certbot nginx plugin instead of standalone mode

interacts better with nginx (don't have to stop and restart nginx everytime you do a certbot authentication)

* gns3 virtual testing network: add --no-nat switch to build virtual servers without NAT gateways

* gns3 virtual testing network: need to not only start step-ca, but enable it (start on every boot)

* gns3 virtual testing network: save DNS domain name in GNS3 project variables,
so we don't have to specify it on the command line every time we run this script

* gns3 virtual testing network: add --no-install switch

* gns3 virtual testing network: fix bogus help text

* gns3 virtual testing network: --delete now deletes just a specific server and its associated nodes

Old behavior (deleting nodes whose name contains a substring) is now done with --delete-substring

The old behavior could delete too much (focal-260 would match focal-260-2) and too little
(subnet switches are named by their CIDR prefix if possible)

* gns3 virtual testing network: when creating a new server, check for existing nodes in all GUI locations to be used

* gns3 virtual testing network: update comments

* gns3 virtual testing network: add return code checks when calling openssl

* gns3 virtual testing network: README update

* gns3 virtual testing network: add 'natturn' TURN server behind a NAT gateway

* gns3 virtual testing network: make TURN server observe --no-install option

* gns3 virtual testing network: only try to install 'natturn' if it doesn't already exist,
because even though it's got "declarative" procedures (you declare what you want but it
only creates it if needed), natturn's subnet will conflict with server subnets

* gns3 virtual testing network: allow Ubuntu release (18 or 20) to be set for a new server

* gns3 virtual testing network: add --repository and --install-script options
and move computation of the install script from testserver.sh to the main script

* gns3 virtual testing network: add --proxy-server option; we pass this option to bbb-install script

* add --release option to specify which BigBlueButton server release should be installed,
and improve --install-script option to accept local files or arbitrary URLs

* gns3 virtual testing network: guess version of install script instead of defaulting to 2.6

* gns3 virtual testing network: enable NAT in both directions on gateway device

* gns3 virtual testing network: check server release for validity before attempting install

* updated README and newest version of NPDC

* gns3 virtual testing network: add option to install greenlight

* gns3 virtual testing network: drop --domain switch and instead use an initialization server instead to figure out DNS domain

* gns3 virtual testing network: don't create turn or natturn devices unless specifically requested

* gns3 virtual testing network: updated README

* gns3 virtual testing network: use a newer version of NPDC that monitors console logs, so we watch the servers boot

* gns3 virtual testing network: updated README

* gns3 virtual testing network: update NPDC for backwards compatibility with Ubuntu 18

* gns3 virtual testing network: update instructions for git submodules

* gns3 virtual testing network: save public IP subnet in GNS3 project variables,
so we don't have to specify it every time the script runs

* gns3 virtual testing network: name NAT gateways more consistently

* gns3 virtual testing network: add --quiet switch

* gns3 virtual testing network: compute veth domain using initsrv and use it to label the cloud icon

* gns3 virtual testing network: improve handling of nginx hash bucket errors on install

* gns3 virtual testing network: bump NPDC version; avoid trying to print console messages on VNC consoles (it won't work)
2023-03-23 14:30:04 -04:00
Gabriel Porfirio
e3e8f24c50 new learning dashboard tests 2023-03-23 13:43:29 -03:00
Anton Georgiev
eb4079a512
Merge pull request #17101 from antonbsa/updt-polling-tests-v2.6
test: Update polling tests
2023-03-21 14:08:23 -04:00
Anton Georgiev
1897e9ebfe
Merge pull request #16956 from BrentBaccala/connection-failure
test: Connection failure tests
2023-03-21 13:26:53 -04:00
Anton B
4a0a9a29a5 test: update polling tests 2023-03-19 16:10:07 -03:00
Anton Georgiev
19d3b03afd
Merge pull request #16972 from gabriellpr/learning-dashboard-test
test: learning dashboard
2023-03-17 12:25:25 -04:00
Anton B
80a4baa785 test: improve upload presentation test 2023-03-15 10:57:49 -03:00
Anton Georgiev
3e3d18f73b
Merge pull request #17027 from antonbsa/imp-reintroduce-test
test: Improve notification test execution time and reintroduce skipped test
2023-03-14 16:31:43 -04:00
Brent Baccala
0d2e35b15b connection failure tests: remove debugging logs 2023-03-13 17:34:12 -04:00
Gustavo Trott
ffec463f38 Re-enable sharednotes tests 2023-03-13 17:47:40 -03:00
Anton B
4df93cb53d test: update and reintroduce tests 2023-03-13 16:34:31 -03:00
Gabriel Porfirio
7881090ba2 changing screenshot file name 2023-03-13 14:30:32 -03:00
Gabriel Porfirio
429e71eaf4 fix upload single presentation test 2023-03-13 08:55:36 -03:00
Gabriel Porfirio
a0eceda1f8 changing check polls 2023-03-10 11:24:14 -03:00
Gabriel Porfirio
ec6840ddc0 starting fix upload single presentation 2023-03-10 10:50:49 -03:00
Gabriel Porfirio
990ddb1f7c moved second function to util, added extra time to the polls checks 2023-03-09 18:09:02 -03:00
Gabriel Porfirio
6042b300f0 the first 3 learning dashboard tests 2023-03-08 17:34:54 -03:00
Brent Baccala
efde3b832a connection failure tests: missed a line where a hostname was hard-wired 2023-03-08 13:36:49 -05:00
Maxim Khlobystov
8108f10d0f Merge branch 'v2.6.x-release' of https://github.com/bigbluebutton/bigbluebutton into whiteboard-tests-and-refactoring 2023-03-08 15:33:37 +00:00
Maxim Khlobystov
5f617d94db New whiteboard tests + refactoring 2023-03-08 15:33:05 +00:00
Brent Baccala
ebcde9440c connection failure tests: removed an old file I didn't realize was there 2023-03-07 23:17:00 -05:00
Brent Baccala
97c1f72f05 connection failure tests: remove an old backup file 2023-03-07 23:14:13 -05:00
Brent Baccala
832c8c3a5b connection failure tests: clean up util.js and remove dependence on my local hostname 2023-03-07 23:08:19 -05:00
Brent Baccala
fa047129fb connection failure tests: two working screen share tests 2023-03-07 22:56:28 -05:00
Brent Baccala
ad8c551021 connection failure tests: "npm install deep-equal" (since I use it) 2023-03-07 21:34:49 -05:00