h4. WHAT
Implement an integration test with more than 1 device with a seed to insert data into the same app database as we have for our customers in RHMAP and version calling not the /init 3 or 6 lines as it is now.
E.g: Insert in parallel and check if the totals are equal database a mock with N apps > N versions ( like has for TKE, Quintiles, Siemens, Dublin Airport ) > N devices ( like has for TKE, Quintiles, Siemens, Dublin Airport)
A suggestion of the expected value quantity of data for the seed based in the RHMAP customers. * RHMAP Customers Examples Seed Suggestion * Qt of apps ( For example N) Siemens has +/-: 100 apps 100 * Qt of versions (N) I did not get this info, however, is reasonable think that the one app can have > 10 and easily achieve 30 releases so far 20 * Qt of devices == totals (N) Note that Siemens over the past year + /- 10 .000 installs ( image installs attached ) and for the most used app it had +/ 5.000 installs ( image per_app attached) 5.000
IMPORTANT: It is not required all versions and apps have this quantity and should 1 entity only to ensure its purpose. I mean that if we following this suggestion we should have 100 apps, but not all should have 20 versions and a total of 5.000 devices instead of it just one must have these amounts.
h4.WHY : - Be able to test and check the UI with something more real data in order to ensure that this layout actually will works as expected. Note that usually, we are not able to preview many scenarios and possible pitfalls without the significant and realist data, for example, if we have more than N versions will be required pagination and/or a limit the qt of rows returned by the backend. How the UI will show it or will do in this scenario? Could we change the layout and/or create a limit in the back end server to avoid it? - Avoid unnecessary re-work, we can get the main pitfuls and/or gaps which if we solve now may means less effort than come back and re-do the implementations which sometimes can be tough - Ensure that the REST server is working well. E.g we can note that something is not actually been doing properly and we could not check it before with few rows as it is now. - Allow the implemented integrate tests use a database more realistic to ensure the quality of the project and avoid the introductions of bugs PS: Todo ASAP in order to help the development of UI for example.
h4.WHY
The project is defined to count+1 when the init calls are made for each device and these totals are added in the version table which means that more than 1 device can try to do it easily. Then, if it faces concurrence issues the data will be lost.
Example Scenario:
- The total is 10 - The device A and B call the /init - At the end the total need to be 12 since it will be +1 for each device.
However, if it faces a concurrence issue the total will be 11 and data will be lost.
PS: Todo after we finish the /init implementation |
|