Skip to content

Commit

Permalink
fix(models): boolean quering in HQL
Browse files Browse the repository at this point in the history
`IS TRUE` predicate does not seem to be valid in Hiberate 6.

RHINENG-1631
  • Loading branch information
vkrizan committed Jan 9, 2024
1 parent 4375697 commit 534cf0d
Show file tree
Hide file tree
Showing 2 changed files with 66 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ LocalDateTime findLatestUpdate(String orgId) {
}

private List<Policy> findEnabledPolicies(String orgId) {
String hql = "FROM Policy WHERE orgId = :orgId AND enabled IS TRUE";
String hql = "FROM Policy WHERE orgId = :orgId AND enabled = TRUE";
return statelessSessionFactory.getCurrentSession().createQuery(hql, Policy.class)
.setParameter("orgId", orgId)
.getResultList();
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
package com.redhat.cloud.policies.engine.db.repositories;

import com.redhat.cloud.policies.engine.TestLifecycleManager;
import com.redhat.cloud.policies.engine.db.StatelessSessionFactory;
import com.redhat.cloud.policies.engine.db.entities.Policy;

import io.quarkus.test.common.QuarkusTestResource;
import io.quarkus.test.junit.QuarkusTest;
import io.quarkus.test.junit.mockito.InjectSpy;

import org.hibernate.Session;
import org.junit.jupiter.api.Test;


import jakarta.inject.Inject;
import jakarta.transaction.Transactional;

import java.util.List;
import java.util.UUID;

import static org.junit.jupiter.api.Assertions.assertEquals;

@QuarkusTest
@QuarkusTestResource(TestLifecycleManager.class)
class PoliciesRepositoryTest {

@InjectSpy
StatelessSessionFactory statelessSessionFactory;

@Inject
Session session;

@Inject
PoliciesRepository repository;

@Test
public void testGetEnabledPolicies() {
String orgId = UUID.randomUUID().toString();

Policy policyFixture = createEnabledPolicy(orgId);

statelessSessionFactory.withSession(session -> {
List<Policy> enabledPolicies = repository.getEnabledPolicies(orgId);
assertEquals(1, enabledPolicies.size());
assertEquals(orgId, enabledPolicies.get(0).orgId);
assertEquals(policyFixture.id, enabledPolicies.get(0).id);
});
}

@Transactional
Policy createEnabledPolicy(String orgId) {
Policy policy = new Policy();
policy.id = UUID.randomUUID();
policy.accountId = "123";
policy.orgId = orgId;
policy.name = "Test";
policy.description = "desc";
policy.condition = "true";
policy.enabled = true;
policy.actions = "none";
session.persist(policy);

return policy;
}
}

0 comments on commit 534cf0d

Please sign in to comment.