java-sdk
java-sdk copied to clipboard
feat: add deduplication in java according to v2
Related Issue
- Info about Issue or bug
Closes: #[issue number that will be closed through this PR]
Describe the changes you've made
- This PR also contains changes in Junit test file. Earlier there were lot of functions which can be hidden from the user. But now we have to call only one function inside the keploy test file -
import com.example.demo.SamplesJavaApplication;
import com.example.demo.controller.EmployeeController;
import com.example.demo.exception.ResourceNotFoundException;
import com.example.demo.model.Employee;
import com.example.demo.repository.EmployeeRepository;
import io.keploy.cli.KeployCLI;
import io.keploy.cli.KeployCLI.TestRunStatus;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.mockito.InjectMocks;
import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
import org.springframework.http.ResponseEntity;
import org.junit.jupiter.api.Order;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.net.http.HttpClient;
import java.util.Arrays;
import java.util.List;
import java.util.Optional;
import static org.junit.jupiter.api.Assertions.*;
import static org.mockito.Mockito.*;
class SamplesJavaApplication_Test {
@Test
@Order(Integer.MAX_VALUE)
public void testKeploy() throws IOException, InterruptedException {
String jarPath = "target/springbootapp-0.0.1-SNAPSHOT.jar";
String[] testSets = KeployCLI.FetchTestSets();
if (testSets == null) {
System.err.println("Test sets are null ");
return;
}
System.out.println("TestSets: " + Arrays.asList(testSets));
KeployCLI.runTestsAndCoverage(jarPath, testSets);
}
}
- Command use to run the tests along with coverage is -
sudo -E env PATH=$PATH enterprise test -c "mvn test" --coverage --delay 20
- After the successful build of mvn and if all keploy tests pass we can see the coverage report to be created at
target/site
folder . Here you can analyse through coverage reports present attarget/site/e2e-ut-aggregate/index.html
in the form of HTML .
Type of change
- [ ] Bug fix (non-breaking change which fixes an issue)
- [ ] New feature (non-breaking change which adds functionality)
- [ ] Code style update (formatting, local variables)
- [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
- [ ] This change requires a documentation update
How did you test your code changes?
Please describe the tests(if any). Provide instructions how its affecting the coverage.
Describe if there is any unusual behaviour of your code(Write NA
if there isn't)
A clear and concise description of it.
Checklist:
- [ ] My code follows the style guidelines of this project.
- [ ] I have performed a self-review of my own code.
- [ ] I have commented my code, particularly in hard-to-understand areas and used java doc.
- [ ] I have made corresponding changes to the documentation.
- [ ] My changes generate no new warnings.
- [ ] I have added tests that prove my fix is effective or that my feature works.
- [ ] New and existing unit tests pass locally with my changes.
Screenshots (if any)
Original | Updated |
---|---|
original screenshot | updated screenshot |