generated from wessel/boilerplate
fix(documentation): Fixed spelling in IntegrationTest.md
This commit is contained in:
@@ -23,27 +23,28 @@ For validation and verification of database data the databse viewer Dbeaver can
|
|||||||
|
|
||||||
1. **Setup Phase**
|
1. **Setup Phase**
|
||||||
- Clear the database via `docker container prune` or by deleting the tables in dbeaver.
|
- Clear the database via `docker container prune` or by deleting the tables in dbeaver.
|
||||||
- Start the databse in its standalone terminal via the command `sudo docker compose up`.
|
- Start the databse in a standalone terminal via the command `sudo docker compose up`.
|
||||||
- Verify database connection and clean test tables
|
- Verify database connection.
|
||||||
- Initialize all system nodes (ExamResultGenerator, FinalGradeDeterminator, GradeCalculator) afeter building tha package and starting it.
|
- Initialize all system nodes (ExamResultGenerator, FinalGradeDeterminator, GradeCalculator) after building tha package and starting it via the `grade_calculator.launch.xml`.
|
||||||
|
|
||||||
2. **Exam Generation Phase**
|
2. **Exam Generation Phase**
|
||||||
- ExamResultGenerator publishes 5 Exam messages per student-course pair to table `exam_results` topic.
|
- ExamResultGenerator publishes Exam messages per student-course pair to table `exam_results` topic.
|
||||||
- Verify exam results have valid grades (10-100 range).
|
- Verify exam results have valid grades (10-100 range).
|
||||||
- Confirm proper timestamp and student/course name matching.
|
- Confirm proper timestamp and student/course name matching.
|
||||||
|
|
||||||
3. **Grade Collection Phase**
|
3. **Grade Collection Phase**
|
||||||
- FinalGradeDeterminator collects exam results for each student-course combination
|
- FinalGradeDeterminator collects exam results for each student-course combination.
|
||||||
- Monitor collection count reaches threshold (5 exams per student-course) for each student.
|
- Monitor collection count reaches threshold (5 exams per student-course by default) for each student.
|
||||||
|
|
||||||
4. **Grade Calculation Phase**
|
4. **Grade Calculation Phase**
|
||||||
- FinalGradeDeterminator calls GradeCalculator service when threshold reached
|
- FinalGradeDeterminator calls GradeCalculator service when threshold reached.
|
||||||
- Service calculates average grade
|
- Service calculates average grade.
|
||||||
- Verify final grade is within valid bounds (10-100) in table `final_course_results`
|
|
||||||
|
|
||||||
5. **Persistence and Notification Phase**
|
5. **Persistence and Notification Phase**
|
||||||
- Final grades stored in database with proper timestamps.
|
- Final grades stored in database with proper timestamps.
|
||||||
- Verify that in the database tables `final_course_results`.
|
- verify that final_grade_determinator has sent a de-enroll request via student_course_managment to exam_result_generator.
|
||||||
|
- exam_result_generator should now prints `removed from queue`.
|
||||||
|
- Verify final grade is within valid bounds (10-100) in table `final_course_results`.
|
||||||
|
|
||||||
**Expected Results:**
|
**Expected Results:**
|
||||||
|
|
||||||
@@ -78,14 +79,14 @@ Student: Tilmann, Course: Differentieren
|
|||||||
|
|
||||||
**Setup:**
|
**Setup:**
|
||||||
|
|
||||||
no setup required, this starts immedietly after `final_grade_diterminator` is done after getting the first grades for the students.
|
no setup required, this starts immediately after `final_grade_diterminator` is done after getting the first grades for the students.
|
||||||
|
|
||||||
**Steps:**
|
**Steps:**
|
||||||
|
|
||||||
1. **Varify Retake Schedualer is started**
|
1. **Varify Retake Schedualer is started**
|
||||||
- Verify in the terminal the schedualer starts the retake process.
|
- Verify in the terminal the schedualer starts the retake process.
|
||||||
|
|
||||||
2. **Retake Request Phase**Methods
|
2. **Retake Request Phase**
|
||||||
- RetakeScheduler checks the database for failing students
|
- RetakeScheduler checks the database for failing students
|
||||||
- Schedules retake exams with `retake_grade_determinator`
|
- Schedules retake exams with `retake_grade_determinator`
|
||||||
|
|
||||||
@@ -101,7 +102,7 @@ no setup required, this starts immedietly after `final_grade_diterminator` is do
|
|||||||
**Failing student Expected Retake Results:**
|
**Failing student Expected Retake Results:**
|
||||||
|
|
||||||
```text
|
```text
|
||||||
Student: Wessel, Course: ROS2
|
Student: student, Course: course
|
||||||
- 5 exam results generated (random grades 10-100)
|
- 5 exam results generated (random grades 10-100)
|
||||||
- Avrage final grade calculated
|
- Avrage final grade calculated
|
||||||
- Grade stored in database
|
- Grade stored in database
|
||||||
@@ -124,11 +125,11 @@ Student: Wessel, Course: ROS2
|
|||||||
## Test Execution Commands
|
## Test Execution Commands
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# 1. Start the test environment
|
# 1. enter the ros2 assignment folder
|
||||||
cd /home/user/ros2-assignments
|
cd /YOUR/PATH/HERE/ros2-assignment
|
||||||
source install/setup.bash
|
|
||||||
# 2. Build the packages
|
# 2. Build the packages and source the enviroment
|
||||||
colcon build
|
colcon build && source install/setup.bash
|
||||||
|
|
||||||
# 3. clear and Start database (if not running) in stand alone terminal
|
# 3. clear and Start database (if not running) in stand alone terminal
|
||||||
sudo docker container prune && sudo docker compose up
|
sudo docker container prune && sudo docker compose up
|
||||||
@@ -137,8 +138,8 @@ sudo docker container prune && sudo docker compose up
|
|||||||
ros2 launch g2_2025_grade_calculator_pkg grade_calculator.launch.xml
|
ros2 launch g2_2025_grade_calculator_pkg grade_calculator.launch.xml
|
||||||
|
|
||||||
# 6. Monitor database state
|
# 6. Monitor database state
|
||||||
By opening dbeaver and connecting to the database
|
By opening dbeaver and connecting to the database "grades".
|
||||||
wachtwoord: postgres
|
Password: postgres
|
||||||
```
|
```
|
||||||
|
|
||||||
## Verification
|
## Verification
|
||||||
@@ -148,11 +149,3 @@ wachtwoord: postgres
|
|||||||
- **Student Records**: Verify all students are enrolled correctly
|
- **Student Records**: Verify all students are enrolled correctly
|
||||||
- **Exam Results**: Confirm all exam data is good
|
- **Exam Results**: Confirm all exam data is good
|
||||||
- **Final Grades**: Validate calculated grades and timestamps
|
- **Final Grades**: Validate calculated grades and timestamps
|
||||||
|
|
||||||
### Log Analysis
|
|
||||||
|
|
||||||
- **Node Logs**: Review individual node log outputs for errors
|
|
||||||
- **System Logs**: Check ROS2 system-level logging
|
|
||||||
- **Database Logs**: Monitor PostgreSQL logs for performance issues
|
|
||||||
|
|
||||||
This comprehensive integration test validates the entire TI Minor Grade Generator system end-to-end, ensuring all components work together correctly to process student grades from enrollment through final grade calculation and persistence.
|
|
||||||
|
|||||||
Reference in New Issue
Block a user