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

Feature/issue-2 - Sonar #8

Merged
merged 25 commits into from
May 22, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
7e93853
Add src directory
May 11, 2024
1dac3ce
Add jacoco and sample unit test
Tenyitamas May 18, 2024
26f2348
Add new test, introduce DI
Tenyitamas May 18, 2024
bce01f0
Add further test cases to Pipe
Tenyitamas May 19, 2024
ccd4500
Create PumpTest.java
Takibalu May 20, 2024
70a2cf2
Update PumpTest
Takibalu May 20, 2024
10eaf90
Fix tests and fix picture loading, controller DI in Pump.java
Takibalu May 20, 2024
8058f5a
Clean up all Security Hotspot, Controller suspicious calls
Takibalu May 20, 2024
6056b64
Strings to final fields
Takibalu May 20, 2024
6f66081
Add tests to PumpTest, Capitalize enums
Takibalu May 20, 2024
b3266fd
More high severity Issue fixed, Complex methods to smaller ones
Takibalu May 20, 2024
877e6b4
More test to PumpTest and little renames
Takibalu May 20, 2024
f55f7a2
Duplicate fixes
Takibalu May 20, 2024
1a28181
Started CisternTest
Takibalu May 22, 2024
b34b815
Fix Test
Takibalu May 22, 2024
59efb3f
Delete gameview from test
Takibalu May 22, 2024
38f47c2
Fix CisternTest 2
Takibalu May 22, 2024
f870339
Cistern problems
Takibalu May 22, 2024
146fdf8
Format Controller, rename packages
Takibalu May 22, 2024
d69e2e6
Fix more High Severity Sonar Issue, auto-format
Takibalu May 22, 2024
110436c
Fix reliability issues
Takibalu May 22, 2024
e81d828
fix ArrayOutOfBounds Issue
Takibalu May 22, 2024
97e087b
Reliability fixes
Takibalu May 22, 2024
cc1660d
Add documentation
Tenyitamas May 22, 2024
8911934
Merge branch 'feature/issue-2-sonar-integration' of https://github.co…
Tenyitamas May 22, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@

target/
8 changes: 8 additions & 0 deletions .idea/.gitignore

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

13 changes: 13 additions & 0 deletions .idea/compiler.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

7 changes: 7 additions & 0 deletions .idea/encodings.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

20 changes: 20 additions & 0 deletions .idea/jarRepositories.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

12 changes: 12 additions & 0 deletions .idea/misc.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 6 additions & 0 deletions .idea/vcs.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

11 changes: 11 additions & 0 deletions doc/feladat2.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
## Feladat
Manuális kód átvizsgálás elvégzése az alkalmazás egy részére (GitHub) + Statikus analízis eszköz futtatása és jelzett hibák átnézése (SonarCloud).
Mivel az eszközök rengeteg hibát és figyelmeztetést találhatnak, ezért elég azok egy részét megvizsgálni és ha a csapat minden tagja egyetért vele, akkor javítani. Törekedjetek arra, hogy különböző típusú, és lehetőleg nem triviális hibajelzéseket vizsgáljatok meg.
## Megoldás
A manuális küdátvizsgálásnál is már kijött, hogy sok code smellt tartalmaz a kódbázis, ezt a Sonarcloud bekötése meg is erősítette. A fő cél az volt, hogy a security hotspotokat megszűntessük és néhány tesztesetet felvegyünk. A tesztelést Mockito és Junit segítségével írtuk és jacocoval ellenőriztük lokálisan a kódlefedettséget.
- kezdetben: 0 % test coverage, 391 issue, 4.8 % duplication, 16 security issue
- végeredmény: 5 % test coverage, 212 issue és **_0 security hotspot_** (!!!)

## Kihívások, Eredmények, Tanulságok
Már a fejlesztési fázisban érdemes elkezdeni a kód minőségének javításást, ellenőrzését ilyen és hasonló framework-ök használatával, hogy később ne tornyosuljanak fel az issuek.
Előszőr azt akartuk, hogy át is menjen a sonar ellenőrzésen, de ez ilyen keretek között irreális lett volna, illetve nem tanított volna újabb tesztelési metódusokat, csak az eddig már felhasznált és bemutatott metodikákat használta volna újra.
41 changes: 41 additions & 0 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,26 @@
<sonar.host.url>https://sonarcloud.io</sonar.host.url>
</properties>

<dependencies>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter</artifactId>
<version>5.8.2</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-core</artifactId>
<version>4.4.0</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<version>0.8.7</version>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
Expand All @@ -32,6 +52,27 @@
<artifactId>maven-surefire-plugin</artifactId>
<version>2.22.2</version>
</plugin>
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<version>0.8.7</version>
<executions>
<execution>
<id>default-prepare-agent</id>
<goals>
<goal>prepare-agent</goal>
</goals>
</execution>
<execution>
<id>default-report</id>
<phase>prepare-package</phase>
<goals>
<goal>report</goal>
</goals>
</execution>
</executions>
</plugin>

</plugins>
</build>

Expand Down
232 changes: 0 additions & 232 deletions src/Controller/Main.java

This file was deleted.

8 changes: 0 additions & 8 deletions src/Model/ActionType.java

This file was deleted.

Loading
Loading