@@ -2,11 +2,10 @@ package org.zstack.test.integration.configuration.systemTag
22
33import org.zstack.core.Platform
44import org.zstack.core.db.DatabaseFacade
5- import org.zstack.core.db.Q
65import org.zstack.core.db.SQL
6+ import org.zstack.header.identity.AccountConstant
77import org.zstack.header.tag.TagPatternType
88import org.zstack.header.tag.TagPatternVO
9- import org.zstack.header.tag.TagPatternVO_
109import org.zstack.testlib.EnvSpec
1110import org.zstack.testlib.SubCase
1211
@@ -57,6 +56,7 @@ class TagPatternResourceTypeCase extends SubCase {
5756 universal. setColor(" red" )
5857 universal. setType(TagPatternType . simple)
5958 universal. setResourceType(null ) // null = universal
59+ universal. setAccountUuid(AccountConstant . INITIAL_SYSTEM_ADMIN_UUID )
6060 dbf. persist(universal)
6161
6262 // Verify it can be found without any resourceType filter
@@ -66,11 +66,11 @@ class TagPatternResourceTypeCase extends SubCase {
6666
6767 // Verify it appears in queries for any resource type
6868 // Simulating the filter: resourceType IS NULL OR resourceType = 'ZoneVO'
69- long count = Q .New (TagPatternVO . class)
70- .eq( TagPatternVO_ . uuid, universal . getUuid())
71- .isNull( TagPatternVO_ . resourceType)
72- .count ()
73- assert count == 1
69+ List< TagPatternVO > results = SQL . New (
70+ " select tp from TagPatternVO tp where tp. uuid = :uuid and tp.resourceType is null " ,
71+ TagPatternVO . class
72+ ) . param( " uuid " , universal . getUuid()) . list ()
73+ assert results . size() == 1
7474
7575 // Clean up
7676 dbf. removeByPrimaryKey(universal. getUuid(), TagPatternVO . class)
@@ -89,25 +89,26 @@ class TagPatternResourceTypeCase extends SubCase {
8989 aiTag. setColor(" blue" )
9090 aiTag. setType(TagPatternType . simple)
9191 aiTag. setResourceType(" ModelVO" )
92+ aiTag. setAccountUuid(AccountConstant . INITIAL_SYSTEM_ADMIN_UUID )
9293 dbf. persist(aiTag)
9394
9495 TagPatternVO found = dbf. findByUuid(aiTag. getUuid(), TagPatternVO . class)
9596 assert found != null
9697 assert found. getResourceType() == " ModelVO"
9798
9899 // Should be found when filtering for ModelVO
99- long modelCount = Q .New (TagPatternVO . class)
100- .eq( TagPatternVO_ . uuid, aiTag . getUuid())
101- .eq( TagPatternVO_ . resourceType, " ModelVO " )
102- .count ()
103- assert modelCount == 1
100+ List< TagPatternVO > modelResults = SQL . New (
101+ " select tp from TagPatternVO tp where tp. uuid = :uuid and tp.resourceType = :resType " ,
102+ TagPatternVO . class
103+ ) . param( " uuid " , aiTag . getUuid()) . param( " resType " , " ModelVO " ) . list ()
104+ assert modelResults . size() == 1
104105
105106 // Should NOT be found when filtering for VmInstanceVO
106- long vmCount = Q .New (TagPatternVO . class)
107- .eq( TagPatternVO_ . uuid, aiTag . getUuid())
108- .eq( TagPatternVO_ . resourceType, " VmInstanceVO " )
109- .count ()
110- assert vmCount == 0
107+ List< TagPatternVO > vmResults = SQL . New (
108+ " select tp from TagPatternVO tp where tp. uuid = :uuid and tp.resourceType = :resType " ,
109+ TagPatternVO . class
110+ ) . param( " uuid " , aiTag . getUuid()) . param( " resType " , " VmInstanceVO " ) . list ()
111+ assert vmResults . size() == 0
111112
112113 // Clean up
113114 dbf. removeByPrimaryKey(aiTag. getUuid(), TagPatternVO . class)
@@ -131,6 +132,7 @@ class TagPatternResourceTypeCase extends SubCase {
131132 universal. setColor(" green" )
132133 universal. setType(TagPatternType . simple)
133134 universal. setResourceType(null )
135+ universal. setAccountUuid(AccountConstant . INITIAL_SYSTEM_ADMIN_UUID )
134136 dbf. persist(universal)
135137
136138 // Create an AI-scoped tag
@@ -141,6 +143,7 @@ class TagPatternResourceTypeCase extends SubCase {
141143 aiTag. setColor(" purple" )
142144 aiTag. setType(TagPatternType . simple)
143145 aiTag. setResourceType(" ModelVO" )
146+ aiTag. setAccountUuid(AccountConstant . INITIAL_SYSTEM_ADMIN_UUID )
144147 dbf. persist(aiTag)
145148
146149 // Create a VM-scoped tag
@@ -151,6 +154,7 @@ class TagPatternResourceTypeCase extends SubCase {
151154 vmTag. setColor(" orange" )
152155 vmTag. setType(TagPatternType . simple)
153156 vmTag. setResourceType(" VmInstanceVO" )
157+ vmTag. setAccountUuid(AccountConstant . INITIAL_SYSTEM_ADMIN_UUID )
154158 dbf. persist(vmTag)
155159
156160 // Query for VmInstanceVO page: should see universal + VM tag, NOT AI tag
0 commit comments