Sprint goals | Deliveries | Burndown | Backlogs
We have the challenge of implementing the limitation of network bandwidth consumption in the system configuration screen, and including graphs in the dashboard for user analysis.
The requirements (both customer and educational institution) covered for third sprint are:
- RF 07: Network Bandwidth Consumption Limitation
- RF 17: Dashboard Improvements (Graphics)
- RNF 11: Tests
- RNF 13: Scan time (how often the system checks for new files)
🔗 Click the link below to view the Kanban of team activities:
This repository contains the documentation of each DevOps item implemented in the FATEC project with Midall during the 5th semester of the Database course. It provides a detailed description of each item, explaining our DevOps workflow, methodologies used, tools used, technologies chosen, and much more.
In this sprint, we implemented the option for the user to limit the network bandwidth when transferring the file, through the configuration screen with the requested parameters. In the front-end, the user will define an "x" bandwidth value, if in the transfer process the file exceeds this limit, the system will stop transferring the file.
📊 We made the logic of the "CASE WHEN" where: if the value of the column "Status" is equal to 'transferred', then the value of the new column "New_Status" will be 1. Otherwise, if the value of the column "Status" is different of 'transferred' (that is, any other value), the value of the new column "New_Status" will be 0.
Code of Logic Implemented in LookerStudio
SELECT
CASE
WHEN Status = 'transferido' THEN 1
ELSE 0
END AS New_Status
FROM
[dbo].[file_transfer]
By presenting the data in this simplified way on the dashboard, you can get a clearer, easier-to-interpret view of the success or failure of file transfers. Additionally, this simplification can make it easier to create charts or metrics related to the status of transfers, such as count of successful transfers, success rate, etc.
- Test files are located in the "tests" directory of the project.
- The test file names follow the naming pattern "test.py" or "test.py," which is compatible with the pytest test discovery pattern.
- The test structure is based on the pytest testing framework.
- The "pytest.ini" file is used to configure pytest behavior.
- The configuration file specifies the test file naming patterns, test directories, and other configuration options, such as filtering deprecation warnings.
- Markers are used to categorize tests. In the provided example, two markers are defined: "unit" and "requests."
- The
pytest
library is imported for writing tests. - The
unittest.mock
library is imported for creating mocks and patches in tests. - The
pytest
library is also used for handling exceptions and making assertions in tests. - The
os.path
library is imported for checking file existence in the file system. - Other project-specific modules and classes are imported to test their functionalities.
- The
mocker.patch.object
function is used to replace objects and methods during tests, allowing for the simulation of specific behaviors. - The
unittest.mock
library is used to create mock objects and define expected behaviors for method calls. - The
mocker
object is passed as an argument to test methods to provide mocking and patching capabilities.
- Each test class is a subclass of
pytest
orunittest.TestCase
, depending on the testing framework used. - Test methods are prefixed with
test_
. - The
@pytest.mark
annotation is used to mark tests with specific markers.
- The
TestAzureConnection
class contains tests for theAzureConnection
class. - The tests validate different connection scenarios with the Azure service and the expected responses.
The monitoring of activities, which is the responsibility of the Scrum Master, is shown in the image below, which contains the Burndown chart generated by the team (where the X axis is the days worked in the sprint and the Y axis values represent the deliveries and efforts made with the over time), including the number of activities carried out.
- Ideal Line (Red)
- Royal Line (Blue)
- Graph updated on 6/04/2023