Add some id based searches and software module search by type (#2681)

Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com>
This commit is contained in:
Avgustin Marinov
2025-09-19 15:45:43 +03:00
committed by GitHub
parent e19b11290d
commit dce133dfae
8 changed files with 77 additions and 12 deletions

View File

@@ -135,6 +135,16 @@ class RsqlSoftwareModuleFieldTest extends AbstractJpaIntegrationTest {
*/
@Test
void testFilterByType() {
assertRSQLQuery(SoftwareModuleFields.TYPE.name() + ".key==" + TestdataFactory.SM_TYPE_APP, 2);
assertRSQLQuery(SoftwareModuleFields.TYPE.name() + ".key!=" + TestdataFactory.SM_TYPE_APP, 4);
assertRSQLQuery(SoftwareModuleFields.TYPE.name() + ".key==noExist*", 0);
assertRSQLQuery(SoftwareModuleFields.TYPE.name() + ".key=in=(" + TestdataFactory.SM_TYPE_APP + ")", 2);
assertRSQLQuery(SoftwareModuleFields.TYPE.name() + ".key=out=(" + TestdataFactory.SM_TYPE_APP + ")", 4);
}
@Test
void testFilterByTypeBackwardCompatibility() {
assertThat(RsqlUtility.SM_DS_SEARCH_BY_TYPE_BACKWARD_COMPATIBILITY).isTrue();
assertRSQLQuery(SoftwareModuleFields.TYPE.name() + "==" + TestdataFactory.SM_TYPE_APP, 2);
assertRSQLQuery(SoftwareModuleFields.TYPE.name() + "!=" + TestdataFactory.SM_TYPE_APP, 4);
assertRSQLQuery(SoftwareModuleFields.TYPE.name() + "==noExist*", 0);
@@ -142,6 +152,18 @@ class RsqlSoftwareModuleFieldTest extends AbstractJpaIntegrationTest {
assertRSQLQuery(SoftwareModuleFields.TYPE.name() + "=out=(" + TestdataFactory.SM_TYPE_APP + ")", 4);
}
/**
* Test filter software module by type key
*/
@Test
void testFilterByName() {
assertRSQLQuery(SoftwareModuleFields.TYPE.name() + ".name==" + appType.getName(), 2);
assertRSQLQuery(SoftwareModuleFields.TYPE.name() + ".name!=" + appType.getName(), 4);
assertRSQLQuery(SoftwareModuleFields.TYPE.name() + ".name==noExist*", 0);
assertRSQLQuery(SoftwareModuleFields.TYPE.name() + ".name=in=(" + appType.getName() + ")", 2);
assertRSQLQuery(SoftwareModuleFields.TYPE.name() + ".name=out=(" + appType.getName() + ")", 4);
}
/**
* Test filter software module by metadata
*/

View File

@@ -396,6 +396,16 @@ class RsqlTargetFieldTest extends AbstractJpaIntegrationTest {
.isThrownBy(() -> RsqlUtility.getInstance().validateRsqlFor("wrongfield == abcd", TargetFields.class, JpaTarget.class));
}
/**
* Test filter by target type key
*/
@Test
void shouldFilterTargetsByTypeId() {
assertRSQLQuery("targettype." + TargetTypeFields.ID.name() + "==" + targetType1.getId(), 1);
assertRSQLQuery("targettype." + TargetTypeFields.ID.name() + "!=" + targetType2.getId(), 4);
assertRSQLQuery("targettype." + TargetTypeFields.ID.name() + "==-1", 0);
}
/**
* Test filter by target type key
*/
@@ -424,7 +434,7 @@ class RsqlTargetFieldTest extends AbstractJpaIntegrationTest {
@Test
void shouldFilterTargetsByTypeIdAndDescription() {
assertThatExceptionOfType(RSQLParameterUnsupportedFieldException.class)
.isThrownBy(() -> assertRSQLQuery("targettype.ID==1", 0));
.isThrownBy(() -> assertRSQLQuery("targettype.IDD==1", 0));
assertThatExceptionOfType(RSQLParameterUnsupportedFieldException.class)
.isThrownBy(() -> assertRSQLQuery("targettype.description==Description", 0));
}