Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
49 commits
Select commit Hold shift + click to select a range
ca43cb7
Added scopes and executed_for to booking service
Top-Ranger Jul 20, 2023
d20ac7d
Merge remote-tracking branch 'origin/main' into booking
Top-Ranger Feb 9, 2024
da913da
Buildable and testable schedule-service
Top-Ranger Feb 28, 2024
ee2137f
Reenable measurement of covered lines
Top-Ranger Feb 28, 2024
b5d33b9
Reenable measurement of covered lines
Top-Ranger Feb 28, 2024
9613a66
booking-backend buildable
Top-Ranger Feb 28, 2024
753e4d5
booking-frontend buildable
Top-Ranger Feb 28, 2024
509b87b
Cleanup
Top-Ranger Apr 22, 2024
5774dda
Implement deleteBookingByIDDestroy by reusing code
Top-Ranger May 16, 2024
8fa0652
Added authorization dummys for tests
Top-Ranger May 16, 2024
af13c15
Added authorization to booking server
Top-Ranger May 21, 2024
35147b7
fix wrong error message in case of unknown status
lojuk May 21, 2024
4d9c708
Added script for quick test setup in devcontainer
Top-Ranger May 21, 2024
e6c9b12
Merge branch 'booking' of github.com:Cross-Lab-Project/crosslab into …
lojuk May 21, 2024
30661c6
Merged authorization-dummy into fake-request
Top-Ranger May 22, 2024
8ecc2c1
Merge branch 'booking' of github.com:Cross-Lab-Project/crosslab into …
lojuk May 22, 2024
5d3ed3e
Added dummys for
Top-Ranger May 24, 2024
87d993c
Merge branch 'booking' of github.com:Cross-Lab-Project/crosslab into …
Top-Ranger May 24, 2024
15e3568
Started fixing tests
Top-Ranger May 24, 2024
bae2301
Test fix
Top-Ranger May 24, 2024
e6a7c31
Fixing tests
Top-Ranger May 24, 2024
68a3bd6
Test clean up
Top-Ranger May 24, 2024
e29cce8
Test setup script: Always drop data in database
Top-Ranger May 28, 2024
f934184
Implemented test for dispatchCallback
Top-Ranger May 28, 2024
fe8babc
Added 'reservateDevice() - local single device'
Top-Ranger May 28, 2024
e6baeee
Fixed test
Top-Ranger May 29, 2024
e300ac5
Implemented tests
Top-Ranger May 29, 2024
fe92772
it seems sleep needs to be waited
lojuk Jun 5, 2024
5772d0f
Implemented test DeleteBooking() local single device
Top-Ranger Jun 5, 2024
658433d
Tested DeleteBooking()
Top-Ranger Jun 6, 2024
01eee44
Tested freeDevice()
Top-Ranger Jun 6, 2024
277a302
Completed testiing of reservateDevice() and internal.ts
Top-Ranger Jun 6, 2024
e0eaab3
Completed testing of booling backend for now
Top-Ranger Jun 7, 2024
a70045f
Tested postBooking()
Top-Ranger Jun 11, 2024
d865651
Implemented tests
Top-Ranger Jun 11, 2024
44604c8
Tested deleteBookingByID()
Top-Ranger Jun 11, 2024
a86bf8e
Tested deleteBookingByIDDestroy()
Top-Ranger Jun 11, 2024
8e8b907
Tested patchBookingByID()
Top-Ranger Jun 13, 2024
8de8f21
Updated booking test script
Top-Ranger Jun 13, 2024
913a494
Added some more test cases
Top-Ranger Jun 14, 2024
5bcb8b6
Updated dependencies
Top-Ranger Jun 14, 2024
7422866
Merge remote-tracking branch 'origin/main' into booking
Top-Ranger Jun 14, 2024
793d18d
Merge remote-tracking branch 'origin/main' into booking
Top-Ranger Jun 21, 2024
f6bdac3
Callbacks are POST and send {Status: "status"}
Top-Ranger Jun 25, 2024
a1c0616
Send URL+ID in Callback
Top-Ranger Jul 8, 2024
5f3af2b
Fixed line length of API strings
Top-Ranger Jul 8, 2024
11b78df
Updated config files to get all vars from env
Top-Ranger Jul 8, 2024
a35d3b7
Don't allow anonymous user to create bookings
Top-Ranger Jul 8, 2024
44c50e3
Fixed test with config change
Top-Ranger Jul 9, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions services/authorization/policy/crosslab.rego
Original file line number Diff line number Diff line change
Expand Up @@ -95,6 +95,13 @@ rebac_allow if {
not subject in ["user:anonymous"]
}

# Allow everyone to create a booking
rebac_allow if {
object in ["booking:~~~TYPE~~~"]
input.action in ["create"]
not subject in ["user:anonymous"]
}

# Allow everyone to create an experiment
rebac_allow if {
object in ["device:~~~TYPE~~~"]
Expand Down
10 changes: 8 additions & 2 deletions services/booking/api/types.yml
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,11 @@ components:
enum:
- normal
Status:
description: Current status of the booking. While the booking is pending, it can not be used. Will change automatically and can not be set by user. 'rejected' is set when the initial booking failed, 'cancelled' when the booking was deleted / cancelled after it was once active. The 'active-*' will be used when a device was added after the booking was locked.
description: >
Current status of the booking. While the booking is pending, it can not be used.
Will change automatically and can not be set by user. 'rejected' is set when the initial booking failed,
'cancelled' when the booking was deleted / cancelled after it was once active.
The 'active-*' will be used when a device was added after the booking was locked.
type: string
enum:
- pending
Expand Down Expand Up @@ -81,7 +85,9 @@ components:
$ref: '#/components/schemas/Device'
Description:
type: string
description: User provided description, for example might be a reason for the booking (e.g. maintenance) or a link to the experiment. Might be empty or missing.
description: >
User provided description, for example might be a reason for the booking (e.g. maintenance)
or a link to the experiment. Might be empty or missing.
Timeslot:
title: Timeslot
description: A time slot represents a slice of time used for bookings.
Expand Down
9 changes: 9 additions & 0 deletions services/booking/create_devcontainer_test_environment.bash
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
#!/bin/bash
sudo service rabbitmq-server start
sudo service mariadb start
sudo mysql -e "DROP DATABASE IF EXISTS unittest;"
sudo mysql -e "CREATE DATABASE unittest DEFAULT CHARSET utf8mb4 DEFAULT COLLATE utf8mb4_unicode_ci;"
sudo mysql -e "DROP USER IF EXISTS 'test'@localhost;"
sudo mysql -e "CREATE USER 'test'@localhost IDENTIFIED BY 'test';"
sudo mysql -e "GRANT ALL PRIVILEGES ON unittest.* to 'test'@localhost;"
sudo mysql -e "FLUSH PRIVILEGES;"
Empty file modified services/booking/documentation-and-generation.bash
100644 → 100755
Empty file.
Loading