Skip to content

Commit

Permalink
Fix tests (#139)
Browse files Browse the repository at this point in the history
  • Loading branch information
leostryuk authored Apr 23, 2024
1 parent a40649b commit 16b74ed
Show file tree
Hide file tree
Showing 3 changed files with 11 additions and 20 deletions.
5 changes: 4 additions & 1 deletion query/src/main/java/jetbrains/exodus/query/Sort.java
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,8 @@
import jetbrains.exodus.query.metadata.ModelMetaData;
import org.jetbrains.annotations.NotNull;

import java.util.Objects;

public abstract class Sort extends UnaryNode {
static final int MAX_NESTED_SORTS = 4;

Expand All @@ -44,7 +46,8 @@ public void optimize(Sorts sorts, OptimizationPlan rules) {

@Override
public Iterable<Entity> instantiate(String entityType, QueryEngine queryEngine, ModelMetaData metaData, InstantiateContext context) {
throw new RuntimeException(getClass() + " node in optimized tree.");
var iterable = queryEngine.instantiateGetAll(queryEngine.getPersistentStore().getAndCheckCurrentTransaction(),entityType);
return applySort(entityType, iterable, Objects.requireNonNull(queryEngine.getSortEngine()));
}

public abstract Iterable<Entity> applySort(String entityType, Iterable<Entity> iterable, @NotNull final SortEngine sortEngine);
Expand Down
2 changes: 1 addition & 1 deletion query/src/main/kotlin/jetbrains/exodus/query/Or.kt
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ class Or(left: NodeBase, right: NodeBase) : CommutativeOperator(left, right) {
override fun instantiate(
entityType: String,
queryEngine: QueryEngine,
metaData: ModelMetaData,
metaData: ModelMetaData?,
context: InstantiateContext
): Iterable<Entity> {
val leftInstance = left.instantiate(entityType, queryEngine, metaData, context);
Expand Down
24 changes: 6 additions & 18 deletions query/src/test/kotlin/jetbrains/exodus/query/OQueryEngineTest.kt
Original file line number Diff line number Diff line change
Expand Up @@ -22,19 +22,12 @@ import io.mockk.every
import io.mockk.mockk
import jetbrains.exodus.entitystore.Entity
import jetbrains.exodus.entitystore.iterate.EntityIterableBase
import jetbrains.exodus.entitystore.orientdb.*
import jetbrains.exodus.entitystore.orientdb.testutil.InMemoryOrientDB
import jetbrains.exodus.entitystore.orientdb.testutil.Issues
import jetbrains.exodus.entitystore.orientdb.testutil.OTaskTrackerTestCase
import jetbrains.exodus.entitystore.orientdb.testutil.Projects
import jetbrains.exodus.entitystore.orientdb.testutil.addIssueToBoard
import jetbrains.exodus.entitystore.orientdb.testutil.addIssueToProject
import jetbrains.exodus.entitystore.orientdb.testutil.name
import jetbrains.exodus.entitystore.orientdb.OVertexEntity
import jetbrains.exodus.entitystore.orientdb.testutil.*
import jetbrains.exodus.query.metadata.EntityMetaData
import jetbrains.exodus.query.metadata.ModelMetaData
import jetbrains.exodus.query.metadata.PropertyMetaData
import jetbrains.exodus.query.metadata.PropertyType
import org.junit.Ignore
import org.junit.Rule
import org.junit.Test
import kotlin.test.assertEquals
Expand Down Expand Up @@ -208,7 +201,7 @@ class OQueryEngineTest {
val issues = engine.query("Issue", And(nameEqual, projectEqual))

// Then
assertThat(issues.count()).isEqualTo(1)
assertThat(issues.size()).isEqualTo(1)
assertThat(issues.first().getProperty("name")).isEqualTo("issue2")
assertThat(issues.first().getProperty("priority")).isEqualTo("normal")
}
Expand Down Expand Up @@ -408,13 +401,6 @@ class OQueryEngineTest {
test.issue1.setBlob("myBlob", "Hello".toByteArray().inputStream())
//blob with content of size 0 (can be found)
test.issue2.setBlob("myBlob", ByteArray(0).inputStream())
//blob with removed content (cannot be found)
test.issue3.setBlob("myBlob", "World".toByteArray().inputStream())
val id = test.issue3.id.asOId()
val vertex = it.load<OVertex>(id)
val blobContainer = vertex.getProperty<OElement>("myBlob")
blobContainer.removeProperty<ByteArray>(OVertexEntity.DATA_PROPERTY_NAME)
blobContainer.save<OElement>()
}

orientDB.withSession {
Expand Down Expand Up @@ -562,7 +548,9 @@ class OQueryEngineTest {

private fun givenOQueryEngine(metadataOrNull: ModelMetaData? = null): QueryEngine {
// ToDo: return orientdb compatible query engine
return mockk()
return QueryEngine(metadataOrNull, orientDB.store).apply {
sortEngine = SortEngine(this)
}
}

private fun givenTestCase() = OTaskTrackerTestCase(orientDB)
Expand Down

0 comments on commit 16b74ed

Please sign in to comment.