Commit Graph

498 Commits

Author SHA1 Message Date
Gabriel Porfirio
f6499efcca created rowFilter function 2023-03-30 10:01:01 -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
Brent Baccala
a66ebc32dd connection failure tests: this is what I wrote in February 2023 2023-03-07 21:33:22 -05:00
Maxim Khlobystov
30b57c162b Disable the test for uploading a single presentation 2023-03-06 18:40:38 +00:00
Maxim Khlobystov
9ce18aeef6 Disable two shared notes tests with fixme() 2023-03-06 18:40:08 +00:00
Gabriel Porfirio
ac7be647c1 Merge remote-tracking branch 'upstream/v2.6.x-release' into learning-dashboard-test 2023-03-06 14:33:28 -03:00
Gabriel Porfirio
447ea1ffb3 basic infos testing 2023-03-06 10:46:31 -03:00
Gabriel Porfirio
6b0a260a71 3 tests added 2023-03-02 16:57:02 -03:00
Maxim Khlobystov
9f32440fa4 Screenshots update 2023-03-01 15:12:47 +00:00
Maxim Khlobystov
9f8c0f8eaf Updated screenshots 2023-03-01 15:01:15 +00:00
Maxim Khlobystov
25df1b6384 Update the reference images for the layout management tests 2023-03-01 07:20:01 +00:00
Maxim Khlobystov
39b50fb00c Merge branch 'v2.6.x-release' of https://github.com/bigbluebutton/bigbluebutton into test-layout-management 2023-03-01 07:11:10 +00:00
Anton Georgiev
ce73288ccf
Merge pull request #16778 from gabriellpr/test-disabled-features
test: disabled features
2023-02-28 15:11:48 -05:00
Gabriel Porfirio
282901ed02 removing unnecessary check 2023-02-28 14:53:03 -03:00
Gabriel Porfirio
ee1dead565 starting learning dashboard tests 2023-02-28 14:44:30 -03:00
Gabriel Porfirio
c323466be4 Merge remote-tracking branch 'upstream/v2.6.x-release' into learning-dashboard-test 2023-02-23 16:40:13 -03:00
Gabriel Porfirio
f1c45f5075 changed pollContainer selector 2023-02-23 14:45:23 -03:00
Gabriel Porfirio
08d4e03e1e learning dashboard test start 2023-02-23 14:37:17 -03:00
Gabriel Porfirio
01eddc9dd6 adding layouts test 2023-02-23 09:05:57 -03:00
Maxim Khlobystov
4d1fab58b9 Merge branch 'test-layout-management' of https://github.com/MaximKhlobystov/bigbluebutton into test-layout-management 2023-02-21 21:51:50 +00:00
Maxim Khlobystov
11954e5af0 Cleaning up the layout management tests code 2023-02-21 21:49:24 +00:00