Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Testing done #138

Merged
merged 4 commits into from
Jul 11, 2023
Merged

Testing done #138

merged 4 commits into from
Jul 11, 2023

Conversation

nforsg
Copy link
Contributor

@nforsg nforsg commented Jul 11, 2023

En del buggar upptäckte i routes tror jag.

Ska jag göra någon testkod ifall node.ip != ip? Jag tänker att isåfall borde testingen för get vara tillräcklig men inte säker. Har markerat var jag menar i routes med en inline-kommentar som jag tar bort sen.

Värt att lägga in cluster_node_status i conftest? Just nu använder jag den i två test-filer och kan tänka mig att den förekommer fler gånger framöver(?).

Copy link
Owner

@Limmen Limmen left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ser bra ut, ett edge-case att hantera

if node_status.dockerRunning:
if request.method == api_constants.MGMT_WEBAPP.HTTP_REST_POST:
if node.ip == ip:
# what about node.ip != ip?
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Du kan lägga in en boolean variable och kolla om ip inte matchar någon node.ip kan du returnera return jsonify({"reason": f"node with ip {ip} does not exist."}), constants.HTTPS.BAD_REQUEST_STATUS_CODE

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixat, tror jag

@Limmen
Copy link
Owner

Limmen commented Jul 11, 2023

En del buggar upptäckte i routes tror jag.

Ska jag göra någon testkod ifall node.ip != ip? Jag tänker att isåfall borde testingen för get vara tillräcklig men inte säker. Har markerat var jag menar i routes med en inline-kommentar som jag tar bort sen.

Värt att lägga in cluster_node_status i conftest? Just nu använder jag den i två test-filer och kan tänka mig att den förekommer fler gånger framöver(?).

Om det används i två testfiler är det värt att flytta den till conftest tycker jag, du kan göra den refaktoreringen som en del i denna PR

@nforsg
Copy link
Contributor Author

nforsg commented Jul 11, 2023

En del buggar upptäckte i routes tror jag.
Ska jag göra någon testkod ifall node.ip != ip? Jag tänker att isåfall borde testingen för get vara tillräcklig men inte säker. Har markerat var jag menar i routes med en inline-kommentar som jag tar bort sen.
Värt att lägga in cluster_node_status i conftest? Just nu använder jag den i två test-filer och kan tänka mig att den förekommer fler gånger framöver(?).

Om det används i två testfiler är det värt att flytta den till conftest tycker jag, du kan göra den refaktoreringen som en del i denna PR

Fixat

if node.ip == ip:
if request.method == api_constants.MGMT_WEBAPP.HTTP_REST_POST:
if node_status.dockerRunning:
if request.method == api_constants.MGMT_WEBAPP.HTTP_REST_POST:
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Jag tror inte detta är korrekt. Säg att jag har två cluster nodes med id 1 och 2. Antag att jag gör ett POST request med id=2. Då kommer jag få en BAD REQUEST pga att 1 != 2 (Rätta mig om jag har fel).

Jag tror du måste lägga in en Boolean variabel innan loopen börjar, ex ip_found=False, dvs innan for node in config.cluster_config.cluster_nodes: sedan om du får en match på IP inuti loopen då sätter du ip_found = True. Sedan har du en if-statement utanför loopen:

if not ip_found: return BAD_REQUEST`

Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

EDIT: På if-statement utanför loopen måste du också kolla att det är en POST. i.e. if not ip_found and method==POST: return BAD REQUEST

Copy link
Contributor Author

@nforsg nforsg Jul 11, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Oright! Ska först göra klart get-metoden i experiments, sen fixar jag detta

Copy link
Contributor Author

@nforsg nforsg Jul 11, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Jag gjorde ett förslag på lösning med ip_found. Vet inte om du ville att jag skulle byta plats på POST-statement, men tidigare då ip har påkallats före POST har vi haft en bugg p.g.a att GET inte har någon ip och då fås "referenced before assignment" för samtliga GET-requests.

Copy link
Owner

@Limmen Limmen left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Allt är korrekt förutom en rad som ska tas bort

for node in config.cluster_config.cluster_nodes:
ip_found = False
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Denna raden kan tas bort. Det räcker med att 1 ip i cluster node matchar så ska ip_found vara True. I nuläget om vi har 2 cluster nodes och första ip matchar men andra matchar inte så får vi BAD_REQUEST pga den raden

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Oh missade att ta bort den, fixat!

@Limmen Limmen merged commit abe6f80 into master Jul 11, 2023
38 checks passed
@nforsg nforsg deleted the dev branch July 12, 2023 06:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants