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**
|
||||
- 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`.
|
||||
- Verify database connection and clean test tables
|
||||
- Initialize all system nodes (ExamResultGenerator, FinalGradeDeterminator, GradeCalculator) afeter building tha package and starting it.
|
||||
- Start the databse in a standalone terminal via the command `sudo docker compose up`.
|
||||
- Verify database connection.
|
||||
- Initialize all system nodes (ExamResultGenerator, FinalGradeDeterminator, GradeCalculator) after building tha package and starting it via the `grade_calculator.launch.xml`.
|
||||
|
||||
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).
|
||||
- Confirm proper timestamp and student/course name matching.
|
||||
|
||||
3. **Grade Collection Phase**
|
||||
- FinalGradeDeterminator collects exam results for each student-course combination
|
||||
- Monitor collection count reaches threshold (5 exams per student-course) for each student.
|
||||
- FinalGradeDeterminator collects exam results for each student-course combination.
|
||||
- Monitor collection count reaches threshold (5 exams per student-course by default) for each student.
|
||||
|
||||
4. **Grade Calculation Phase**
|
||||
- FinalGradeDeterminator calls GradeCalculator service when threshold reached
|
||||
- Service calculates average grade
|
||||
- Verify final grade is within valid bounds (10-100) in table `final_course_results`
|
||||
- FinalGradeDeterminator calls GradeCalculator service when threshold reached.
|
||||
- Service calculates average grade.
|
||||
|
||||
5. **Persistence and Notification Phase**
|
||||
- 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:**
|
||||
|
||||
@@ -78,14 +79,14 @@ Student: Tilmann, Course: Differentieren
|
||||
|
||||
**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:**
|
||||
|
||||
1. **Varify Retake Schedualer is started**
|
||||
- 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
|
||||
- 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:**
|
||||
|
||||
```text
|
||||
Student: Wessel, Course: ROS2
|
||||
Student: student, Course: course
|
||||
- 5 exam results generated (random grades 10-100)
|
||||
- Avrage final grade calculated
|
||||
- Grade stored in database
|
||||
@@ -124,11 +125,11 @@ Student: Wessel, Course: ROS2
|
||||
## Test Execution Commands
|
||||
|
||||
```bash
|
||||
# 1. Start the test environment
|
||||
cd /home/user/ros2-assignments
|
||||
source install/setup.bash
|
||||
# 2. Build the packages
|
||||
colcon build
|
||||
# 1. enter the ros2 assignment folder
|
||||
cd /YOUR/PATH/HERE/ros2-assignment
|
||||
|
||||
# 2. Build the packages and source the enviroment
|
||||
colcon build && source install/setup.bash
|
||||
|
||||
# 3. clear and Start database (if not running) in stand alone terminal
|
||||
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
|
||||
|
||||
# 6. Monitor database state
|
||||
By opening dbeaver and connecting to the database
|
||||
wachtwoord: postgres
|
||||
By opening dbeaver and connecting to the database "grades".
|
||||
Password: postgres
|
||||
```
|
||||
|
||||
## Verification
|
||||
@@ -148,11 +149,3 @@ wachtwoord: postgres
|
||||
- **Student Records**: Verify all students are enrolled correctly
|
||||
- **Exam Results**: Confirm all exam data is good
|
||||
- **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