Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
A
atlas
Project
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
dataplatform
atlas
Commits
750646e7
Commit
750646e7
authored
Apr 17, 2020
by
Madhan Neethiraj
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
ATLAS-3733: upgraded JanusGraph version to 0.5.1, and Tinkerpop to 3.4.6
parent
b866e48f
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
129 additions
and
127 deletions
+129
-127
NativeJanusGraphQuery.java
...repository/graphdb/janus/query/NativeJanusGraphQuery.java
+2
-1
Solr6Index.java
...main/java/org/janusgraph/diskstorage/solr/Solr6Index.java
+10
-11
atlas-application.properties
intg/src/test/resources/atlas-application.properties
+0
-1
pom.xml
pom.xml
+2
-2
UserProfileServiceTest.java
.../atlas/repository/userprofile/UserProfileServiceTest.java
+115
-112
No files found.
graphdb/janus/src/main/java/org/apache/atlas/repository/graphdb/janus/query/NativeJanusGraphQuery.java
View file @
750646e7
...
...
@@ -39,6 +39,7 @@ import org.apache.atlas.repository.graphdb.janus.AtlasJanusGraphDatabase;
import
org.apache.atlas.repository.graphdb.janus.AtlasJanusVertex
;
import
org.apache.tinkerpop.gremlin.process.traversal.Compare
;
import
org.apache.tinkerpop.gremlin.structure.Vertex
;
import
org.janusgraph.graphdb.query.JanusGraphPredicateUtils
;
import
org.janusgraph.graphdb.query.graph.GraphCentricQueryBuilder
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
...
...
@@ -226,7 +227,7 @@ public class NativeJanusGraphQuery implements NativeTinkerpopGraphQuery<AtlasJan
JanusGraphPredicate
pred
;
if
(
op
instanceof
ComparisionOperator
)
{
Compare
c
=
getGremlinPredicate
((
ComparisionOperator
)
op
);
pred
=
JanusGraphPredicate
.
Converter
.
convert
(
c
);
pred
=
JanusGraphPredicate
Utils
.
convert
(
c
);
}
else
{
pred
=
getGremlinPredicate
((
MatchingOperator
)
op
);
}
...
...
graphdb/janus/src/main/java/org/janusgraph/diskstorage/solr/Solr6Index.java
View file @
750646e7
...
...
@@ -56,7 +56,6 @@ import org.apache.http.HttpException;
import
org.apache.http.HttpRequest
;
import
org.apache.http.HttpRequestInterceptor
;
import
org.apache.http.client.HttpClient
;
import
org.apache.http.client.utils.HttpClientUtils
;
import
org.apache.http.entity.BufferedHttpEntity
;
import
org.apache.http.impl.auth.KerberosScheme
;
import
org.apache.http.protocol.HttpContext
;
...
...
@@ -114,7 +113,7 @@ import org.janusgraph.diskstorage.indexing.RawQuery;
import
org.janusgraph.diskstorage.solr.transform.GeoToWktConverter
;
import
org.janusgraph.diskstorage.util.DefaultTransaction
;
import
org.janusgraph.graphdb.configuration.PreInitializeConfigOptions
;
import
org.janusgraph.graphdb.database.serialize.AttributeUtil
;
import
org.janusgraph.graphdb.database.serialize.AttributeUtil
s
;
import
org.janusgraph.graphdb.internal.Order
;
import
org.janusgraph.graphdb.query.JanusGraphPredicate
;
import
org.janusgraph.graphdb.query.condition.And
;
...
...
@@ -1009,8 +1008,8 @@ public class Solr6Index implements IndexProvider {
public
boolean
supports
(
KeyInformation
information
,
JanusGraphPredicate
predicate
)
{
final
Class
<?>
dataType
=
information
.
getDataType
();
final
Mapping
mapping
=
Mapping
.
getMapping
(
information
);
if
(
mapping
!=
Mapping
.
DEFAULT
&&
!
AttributeUtil
.
isString
(
dataType
)
&&
!(
mapping
==
Mapping
.
PREFIX_TREE
&&
AttributeUtil
.
isGeo
(
dataType
)))
return
false
;
if
(
mapping
!=
Mapping
.
DEFAULT
&&
!
AttributeUtil
s
.
isString
(
dataType
)
&&
!(
mapping
==
Mapping
.
PREFIX_TREE
&&
AttributeUtil
s
.
isGeo
(
dataType
)))
return
false
;
if
(
Number
.
class
.
isAssignableFrom
(
dataType
))
{
return
predicate
instanceof
Cmp
;
...
...
@@ -1021,7 +1020,7 @@ public class Solr6Index implements IndexProvider {
case
PREFIX_TREE:
return
predicate
==
Geo
.
INTERSECT
||
predicate
==
Geo
.
WITHIN
||
predicate
==
Geo
.
CONTAINS
;
}
}
else
if
(
AttributeUtil
.
isString
(
dataType
))
{
}
else
if
(
AttributeUtil
s
.
isString
(
dataType
))
{
switch
(
mapping
)
{
case
DEFAULT:
case
TEXT:
...
...
@@ -1049,9 +1048,9 @@ public class Solr6Index implements IndexProvider {
if
(
Number
.
class
.
isAssignableFrom
(
dataType
)
||
dataType
==
Date
.
class
||
dataType
==
Instant
.
class
||
dataType
==
Boolean
.
class
||
dataType
==
UUID
.
class
)
{
return
mapping
==
Mapping
.
DEFAULT
;
}
else
if
(
AttributeUtil
.
isString
(
dataType
))
{
}
else
if
(
AttributeUtil
s
.
isString
(
dataType
))
{
return
mapping
==
Mapping
.
DEFAULT
||
mapping
==
Mapping
.
TEXT
||
mapping
==
Mapping
.
STRING
;
}
else
if
(
AttributeUtil
.
isGeo
(
dataType
))
{
}
else
if
(
AttributeUtil
s
.
isGeo
(
dataType
))
{
return
mapping
==
Mapping
.
DEFAULT
||
mapping
==
Mapping
.
PREFIX_TREE
;
}
return
false
;
...
...
@@ -1066,17 +1065,17 @@ public class Solr6Index implements IndexProvider {
if
(
ParameterType
.
MAPPED_NAME
.
hasParameter
(
keyInfo
.
getParameters
()))
return
key
;
String
postfix
;
final
Class
dataType
=
keyInfo
.
getDataType
();
if
(
AttributeUtil
.
isString
(
dataType
))
{
if
(
AttributeUtil
s
.
isString
(
dataType
))
{
final
Mapping
map
=
getStringMapping
(
keyInfo
);
switch
(
map
)
{
case
TEXT:
postfix
=
"_t"
;
break
;
case
STRING:
postfix
=
"_s"
;
break
;
default
:
throw
new
IllegalArgumentException
(
"Unsupported string mapping: "
+
map
);
}
}
else
if
(
AttributeUtil
.
isWholeNumber
(
dataType
))
{
}
else
if
(
AttributeUtil
s
.
isWholeNumber
(
dataType
))
{
if
(
dataType
.
equals
(
Long
.
class
))
postfix
=
"_l"
;
else
postfix
=
"_i"
;
}
else
if
(
AttributeUtil
.
isDecimal
(
dataType
))
{
}
else
if
(
AttributeUtil
s
.
isDecimal
(
dataType
))
{
if
(
dataType
.
equals
(
Float
.
class
))
postfix
=
"_f"
;
else
postfix
=
"_d"
;
}
else
if
(
dataType
.
equals
(
BigInteger
.
class
))
{
...
...
@@ -1124,7 +1123,7 @@ public class Solr6Index implements IndexProvider {
*/
private
static
Mapping
getStringMapping
(
KeyInformation
information
)
{
assert
AttributeUtil
.
isString
(
information
.
getDataType
());
assert
AttributeUtil
s
.
isString
(
information
.
getDataType
());
Mapping
map
=
Mapping
.
getMapping
(
information
);
if
(
map
==
Mapping
.
DEFAULT
)
map
=
Mapping
.
TEXT
;
return
map
;
...
...
intg/src/test/resources/atlas-application.properties
View file @
750646e7
...
...
@@ -45,7 +45,6 @@ atlas.graphdb.backend=${graphdb.backend.impl}
# Graph Storage
atlas.graph.storage.backend
=
${graph.storage.backend}
atlas.graph.storage.transactions
=
false
# Entity repository implementation
atlas.EntityAuditRepository.impl
=
${entity.repository.impl}
...
...
pom.xml
View file @
750646e7
...
...
@@ -656,8 +656,8 @@
<jersey.version>
1.19
</jersey.version>
<jsr.version>
1.1
</jsr.version>
<janus.version>
0.
4
.1
</janus.version>
<tinkerpop.version>
3.4.
4
</tinkerpop.version>
<janus.version>
0.
5
.1
</janus.version>
<tinkerpop.version>
3.4.
6
</tinkerpop.version>
<lucene-solr.version>
7.3.0
</lucene-solr.version>
<hadoop.version>
3.1.1
</hadoop.version>
...
...
repository/src/test/java/org/apache/atlas/repository/userprofile/UserProfileServiceTest.java
View file @
750646e7
...
...
@@ -54,7 +54,9 @@ import static org.testng.Assert.assertTrue;
public
class
UserProfileServiceTest
{
private
UserProfileService
userProfileService
;
private
AtlasTypeDefStore
typeDefStore
;
private
int
max_searches
=
4
;
private
static
final
int
NUM_USERS
=
2
;
private
static
final
int
NUM_SEARCHES
=
4
;
@Inject
public
void
UserProfileServiceTest
(
AtlasTypeRegistry
typeRegistry
,
...
...
@@ -78,29 +80,54 @@ public class UserProfileServiceTest {
@Test
public
void
filterInternalType
()
throws
AtlasBaseException
{
SearchFilter
searchFilter
=
new
SearchFilter
();
FilterUtil
.
addParamsToHideInternalType
(
searchFilter
);
AtlasTypesDef
filteredTypeDefs
=
typeDefStore
.
searchTypesDef
(
searchFilter
);
assertNotNull
(
filteredTypeDefs
);
Optional
<
AtlasEntityDef
>
anyInternal
=
filteredTypeDefs
.
getEntityDefs
().
stream
().
filter
(
e
->
e
.
getSuperTypes
().
contains
(
"__internal"
)).
findAny
();
assertFalse
(
anyInternal
.
isPresent
());
}
@Test
@Test
(
dependsOnMethods
=
"filterInternalType"
)
public
void
createsNewProfile
()
throws
AtlasBaseException
{
int
i
=
0
;
assertSaveLoadUserProfile
(
i
++);
assertSaveLoadUserProfile
(
i
);
for
(
int
i
=
0
;
i
<
NUM_USERS
;
i
++)
{
AtlasUserProfile
expected
=
getAtlasUserProfile
(
i
);
AtlasUserProfile
actual
=
userProfileService
.
saveUserProfile
(
expected
);
assertNotNull
(
actual
);
assertEquals
(
expected
.
getName
(),
actual
.
getName
());
assertEquals
(
expected
.
getFullName
(),
actual
.
getFullName
());
assertNotNull
(
actual
.
getGuid
());
}
}
@Test
(
dependsOnMethods
=
{
"createsNewProfile"
,
"savesQueryForAnNonExistentUser"
},
expectedExceptions
=
AtlasBaseException
.
class
)
public
void
atteptsToAddAlreadyExistingQueryForAnExistingUser
()
throws
AtlasBaseException
{
SearchParameters
expectedSearchParameter
=
getActualSearchParameters
();
@Test
(
dependsOnMethods
=
"createsNewProfile"
)
public
void
saveSearchesForUser
()
throws
AtlasBaseException
{
String
userName
=
getIndexBasedUserName
(
0
);
SearchParameters
searchParameters
=
getActualSearchParameters
();
for
(
int
i
=
0
;
i
<
2
;
i
++)
{
String
userName
=
getIndexBasedUserName
(
i
);
for
(
int
i
=
0
;
i
<
NUM_SEARCHES
;
i
++)
{
userProfileService
.
addSavedSearch
(
getDefaultSavedSearch
(
userName
,
getIndexBasedQueryName
(
i
),
searchParameters
));
}
for
(
int
i
=
0
;
i
<
NUM_SEARCHES
;
i
++)
{
AtlasUserSavedSearch
savedSearch
=
userProfileService
.
getSavedSearch
(
userName
,
getIndexBasedQueryName
(
i
));
assertEquals
(
savedSearch
.
getName
(),
getIndexBasedQueryName
(
i
));
assertEquals
(
savedSearch
.
getSearchParameters
(),
searchParameters
);
}
}
@Test
(
dependsOnMethods
=
"saveSearchesForUser"
,
expectedExceptions
=
AtlasBaseException
.
class
)
public
void
attemptToAddExistingSearch
()
throws
AtlasBaseException
{
String
userName
=
getIndexBasedUserName
(
0
);
SearchParameters
expectedSearchParameter
=
getActualSearchParameters
();
for
(
int
j
=
0
;
j
<
max_searches
;
j
++)
{
for
(
int
j
=
0
;
j
<
NUM_SEARCHES
;
j
++)
{
String
queryName
=
getIndexBasedQueryName
(
j
);
AtlasUserSavedSearch
expected
=
getDefaultSavedSearch
(
userName
,
queryName
,
expectedSearchParameter
);
AtlasUserSavedSearch
actual
=
userProfileService
.
addSavedSearch
(
expected
);
...
...
@@ -113,107 +140,61 @@ public class UserProfileServiceTest {
assertEquals
(
actual
.
getSearchParameters
(),
expected
.
getSearchParameters
());
}
}
}
@Test
(
dependsOnMethods
=
{
"createsNewProfile"
,
"savesQueryForAnNonExistentUser"
,
"atteptsToAddAlreadyExistingQueryForAnExistingUser"
})
public
void
savesExistingQueryForAnExistingUser
()
throws
AtlasBaseException
{
SearchParameters
expectedSearchParameter
=
getActualSearchParameters
();
for
(
int
i
=
0
;
i
<
2
;
i
++)
{
String
userName
=
getIndexBasedUserName
(
i
);
for
(
int
j
=
4
;
j
<
max_searches
+
6
;
j
++)
{
String
queryName
=
getIndexBasedQueryName
(
j
);
AtlasUserSavedSearch
actual
=
userProfileService
.
addSavedSearch
(
getDefaultSavedSearch
(
userName
,
queryName
,
expectedSearchParameter
));
assertNotNull
(
actual
);
@Test
(
dependsOnMethods
=
"attemptToAddExistingSearch"
)
public
void
verifySavedSearchesForUser
()
throws
AtlasBaseException
{
String
userName
=
getIndexBasedUserName
(
0
);
List
<
AtlasUserSavedSearch
>
searches
=
userProfileService
.
getSavedSearches
(
userName
);
List
<
String
>
names
=
getIndexBasedQueryNamesList
();
AtlasUserSavedSearch
savedSearch
=
userProfileService
.
getSavedSearch
(
userName
,
queryName
);
assertNotNull
(
savedSearch
);
assertEquals
(
savedSearch
.
getSearchParameters
(),
expectedSearchParameter
);
}
for
(
int
i
=
0
;
i
<
names
.
size
();
i
++)
{
assertTrue
(
names
.
contains
(
searches
.
get
(
i
).
getName
()),
searches
.
get
(
i
).
getName
()
+
" failed!"
);
}
}
private
SearchParameters
getActualSearchParameters
()
{
SearchParameters
sp
=
new
SearchParameters
();
sp
.
setClassification
(
"test-classification"
);
sp
.
setQuery
(
"g.v().has('__guid').__guid.toList()"
);
sp
.
setLimit
(
10
);
sp
.
setTypeName
(
"some-type"
);
return
sp
;
}
@Test
(
dependsOnMethods
=
"verifySavedSearchesForUser"
)
public
void
verifyQueryConversionFromJSON
()
throws
AtlasBaseException
{
List
<
AtlasUserSavedSearch
>
list
=
userProfileService
.
getSavedSearches
(
"first-0"
);
@Test
(
dependsOnMethods
=
"createsNewProfile"
)
public
void
savesQueryForAnNonExistentUser
()
throws
AtlasBaseException
{
String
expectedUserName
=
getIndexBasedUserName
(
0
);
String
expectedQueryName
=
"testQuery"
;
SearchParameters
expectedSearchParam
=
getActualSearchParameters
();
AtlasUserSavedSearch
expectedSavedSearch
=
getDefaultSavedSearch
(
expectedUserName
,
expectedQueryName
,
expectedSearchParam
);
for
(
int
i
=
0
;
i
<
NUM_SEARCHES
;
i
++)
{
SearchParameters
sp
=
list
.
get
(
i
).
getSearchParameters
();
String
json
=
AtlasType
.
toJson
(
sp
);
AtlasUserSavedSearch
actual
=
userProfileService
.
addSavedSearch
(
expectedSavedSearch
);
assertEquals
(
actual
.
getOwnerName
(),
expectedUserName
);
assertEquals
(
actual
.
getName
(),
expectedQueryName
);
assertEquals
(
AtlasType
.
toJson
(
getActualSearchParameters
()).
replace
(
"\n"
,
""
).
replace
(
" "
,
""
),
json
);
}
private
AtlasUserSavedSearch
getDefaultSavedSearch
(
String
userName
,
String
queryName
,
SearchParameters
expectedSearchParam
)
{
return
new
AtlasUserSavedSearch
(
userName
,
queryName
,
BASIC
,
expectedSearchParam
);
}
@Test
(
dependsOnMethods
=
"createsNewProfile"
)
public
void
savesMultipleQueriesForUser
()
throws
AtlasBaseException
{
final
String
userName
=
getIndexBasedUserName
(
0
);
createUserWithSavedQueries
(
userName
);
}
@Test
(
dependsOnMethods
=
"verifyQueryConversionFromJSON"
)
public
void
addAdditionalSearchesForUser
()
throws
AtlasBaseException
{
SearchParameters
expectedSearchParameter
=
getActualSearchParameters
();
private
void
createUserWithSavedQueries
(
String
userName
)
throws
AtlasBaseException
{
SearchParameters
actualSearchParameter
=
getActualSearchParameters
(
);
for
(
int
i
=
0
;
i
<
NUM_USERS
;
i
++)
{
String
userName
=
getIndexBasedUserName
(
i
);
saveQueries
(
userName
,
actualSearchParameter
);
for
(
int
i
=
0
;
i
<
max_searches
;
i
++)
{
AtlasUserSavedSearch
savedSearch
=
userProfileService
.
getSavedSearch
(
userName
,
getIndexBasedQueryName
(
i
));
assertEquals
(
savedSearch
.
getName
(),
getIndexBasedQueryName
(
i
));
assertEquals
(
savedSearch
.
getSearchParameters
(),
actualSearchParameter
);
}
}
for
(
int
j
=
0
;
j
<
6
;
j
++)
{
String
queryName
=
getIndexBasedQueryName
(
NUM_SEARCHES
+
j
);
AtlasUserSavedSearch
actual
=
userProfileService
.
addSavedSearch
(
getDefaultSavedSearch
(
userName
,
queryName
,
expectedSearchParameter
));
private
void
saveQueries
(
String
userName
,
SearchParameters
sp
)
throws
AtlasBaseException
{
for
(
int
i
=
0
;
i
<
max_searches
;
i
++)
{
userProfileService
.
addSavedSearch
(
getDefaultSavedSearch
(
userName
,
getIndexBasedQueryName
(
i
),
sp
));
}
}
assertNotNull
(
actual
);
@Test
(
dependsOnMethods
=
{
"createsNewProfile"
,
"savesMultipleQueriesForUser"
})
public
void
verifyQueryNameListForUser
()
throws
AtlasBaseException
{
final
String
userName
=
getIndexBasedUserName
(
0
);
AtlasUserSavedSearch
savedSearch
=
userProfileService
.
getSavedSearch
(
userName
,
queryName
);
List
<
AtlasUserSavedSearch
>
list
=
userProfileService
.
getSavedSearches
(
userName
);
List
<
String
>
names
=
getIndexBasedQueryNamesList
();
for
(
int
i
=
0
;
i
<
names
.
size
();
i
++)
{
assertTrue
(
names
.
contains
(
list
.
get
(
i
).
getName
()),
list
.
get
(
i
).
getName
()
+
" failed!"
);
}
assertNotNull
(
savedSearch
);
assertEquals
(
savedSearch
.
getSearchParameters
(),
expectedSearchParameter
);
}
@Test
(
dependsOnMethods
=
{
"createsNewProfile"
,
"savesMultipleQueriesForUser"
})
public
void
verifyQueryConversionFromJSON
()
throws
AtlasBaseException
{
List
<
AtlasUserSavedSearch
>
list
=
userProfileService
.
getSavedSearches
(
"first-0"
);
for
(
int
i
=
0
;
i
<
max_searches
;
i
++)
{
SearchParameters
sp
=
list
.
get
(
i
).
getSearchParameters
();
String
json
=
AtlasType
.
toJson
(
sp
);
assertEquals
(
AtlasType
.
toJson
(
getActualSearchParameters
()).
replace
(
"\n"
,
""
).
replace
(
" "
,
""
),
json
);
}
}
@Test
(
dependsOnMethods
=
{
"createsNewProfile"
,
"savesMultipleQueriesForUser"
,
"verifyQueryConversionFromJSON
"
})
@Test
(
dependsOnMethods
=
{
"addAdditionalSearchesForUser
"
})
public
void
updateSearch
()
throws
AtlasBaseException
{
final
String
queryName
=
getIndexBasedQueryName
(
0
);
String
userName
=
getIndexBasedUserName
(
0
);
String
queryName
=
getIndexBasedQueryName
(
0
);
AtlasUserSavedSearch
expected
=
userProfileService
.
getSavedSearch
(
userName
,
queryName
);
assertNotNull
(
expected
);
SearchParameters
sp
=
expected
.
getSearchParameters
();
sp
.
setClassification
(
"new-classification"
);
AtlasUserSavedSearch
actual
=
userProfileService
.
updateSavedSearch
(
expected
);
...
...
@@ -223,56 +204,62 @@ public class UserProfileServiceTest {
assertEquals
(
actual
.
getSearchParameters
().
getClassification
(),
expected
.
getSearchParameters
().
getClassification
());
}
@Test
(
dependsOnMethods
=
{
"createsNewProfile"
,
"savesMultipleQueriesForUser"
,
"verifyQueryNameListForUser"
},
expectedExceptions
=
AtlasBaseException
.
class
)
@Test
(
dependsOnMethods
=
{
"updateSearch"
}
)
public
void
deleteUsingGuid
()
throws
AtlasBaseException
{
final
String
queryName
=
getIndexBasedQueryName
(
1
);
String
userName
=
getIndexBasedUserName
(
0
);
String
queryName
=
getIndexBasedQueryName
(
1
);
AtlasUserSavedSearch
expected
=
userProfileService
.
getSavedSearch
(
userName
,
queryName
);
assertNotNull
(
expected
);
userProfileService
.
deleteSavedSearch
(
expected
.
getGuid
());
try
{
userProfileService
.
getSavedSearch
(
userName
,
queryName
);
}
catch
(
AtlasBaseException
ex
)
{
assertEquals
(
ex
.
getAtlasErrorCode
().
name
(),
AtlasErrorCode
.
INSTANCE_BY_UNIQUE_ATTRIBUTE_NOT_FOUND
.
name
());
}
}
@Test
(
dependsOnMethods
=
{
"createsNewProfile"
,
"savesMultipleQueriesForUser"
,
"verifyQueryNameListForUser"
})
@Test
(
dependsOnMethods
=
{
"deleteUsingGuid"
})
public
void
deleteSavedQuery
()
throws
AtlasBaseException
{
final
String
userName
=
getIndexBasedUserName
(
0
);
String
userName
=
getIndexBasedUserName
(
0
);
AtlasUserProfile
expected
=
userProfileService
.
getUserProfile
(
userName
);
assertNotNull
(
expected
);
int
new_max_searches
=
expected
.
getSavedSearches
().
size
();
String
queryNameToBeDeleted
=
getIndexBasedQueryName
(
max_searches
-
2
);
int
searchCount
=
expected
.
getSavedSearches
().
size
();
String
queryNameToBeDeleted
=
getIndexBasedQueryName
(
NUM_SEARCHES
-
2
);
userProfileService
.
deleteSearchBySearchName
(
userName
,
queryNameToBeDeleted
);
List
<
AtlasUserSavedSearch
>
savedSearchList
=
userProfileService
.
getSavedSearches
(
userName
);
assertEquals
(
savedSearchList
.
size
(),
new_max_searches
-
1
);
assertEquals
(
savedSearchList
.
size
(),
searchCount
-
1
);
}
@Test
(
dependsOnMethods
=
{
"createsNewProfile"
,
"savesMultipleQueriesForUser"
,
"verifyQueryNameListForUser"
})
@Test
(
dependsOnMethods
=
{
"deleteSavedQuery"
})
void
deleteUser
()
throws
AtlasBaseException
{
String
userName
=
getIndexBasedUserName
(
1
);
String
userName
=
getIndexBasedUserName
(
0
);
AtlasUserProfile
userProfile
=
userProfileService
.
getUserProfile
(
userName
);
if
(
userProfile
.
getSavedSearches
()
!=
null
)
{
for
(
AtlasUserSavedSearch
savedSearch
:
userProfile
.
getSavedSearches
())
{
userProfileService
.
deleteSavedSearch
(
savedSearch
.
getGuid
());
}
}
userProfileService
.
deleteUserProfile
(
userName
);
try
{
userProfileService
.
getUserProfile
(
userName
);
}
catch
(
AtlasBaseException
ex
)
{
}
catch
(
AtlasBaseException
ex
)
{
assertEquals
(
ex
.
getAtlasErrorCode
().
name
(),
AtlasErrorCode
.
INSTANCE_BY_UNIQUE_ATTRIBUTE_NOT_FOUND
.
name
());
}
}
private
void
assertSaveLoadUserProfile
(
int
i
)
throws
AtlasBaseException
{
String
s
=
String
.
valueOf
(
i
);
AtlasUserProfile
expected
=
getAtlasUserProfile
(
i
);
AtlasUserProfile
actual
=
userProfileService
.
saveUserProfile
(
expected
);
assertNotNull
(
actual
);
assertEquals
(
expected
.
getName
(),
actual
.
getName
());
assertEquals
(
expected
.
getFullName
(),
actual
.
getFullName
());
assertNotNull
(
actual
.
getGuid
());
}
p
ublic
static
AtlasUserProfile
getAtlasUserProfile
(
Integer
s
)
{
p
rivate
static
AtlasUserProfile
getAtlasUserProfile
(
Integer
s
)
{
return
new
AtlasUserProfile
(
getIndexBasedUserName
(
s
),
String
.
format
(
"first-%s last-%s"
,
s
,
s
));
}
...
...
@@ -284,9 +271,25 @@ public class UserProfileServiceTest {
return
String
.
format
(
"testQuery-%s"
,
i
.
toString
());
}
public
List
<
String
>
getIndexBasedQueryNamesList
()
{
private
SearchParameters
getActualSearchParameters
()
{
SearchParameters
sp
=
new
SearchParameters
();
sp
.
setClassification
(
"test-classification"
);
sp
.
setQuery
(
"g.v().has('__guid').__guid.toList()"
);
sp
.
setLimit
(
10
);
sp
.
setTypeName
(
"some-type"
);
return
sp
;
}
private
AtlasUserSavedSearch
getDefaultSavedSearch
(
String
userName
,
String
queryName
,
SearchParameters
expectedSearchParam
)
{
return
new
AtlasUserSavedSearch
(
userName
,
queryName
,
BASIC
,
expectedSearchParam
);
}
private
List
<
String
>
getIndexBasedQueryNamesList
()
{
List
<
String
>
list
=
new
ArrayList
<>();
for
(
int
i
=
0
;
i
<
max_searches
;
i
++)
{
for
(
int
i
=
0
;
i
<
NUM_SEARCHES
;
i
++)
{
list
.
add
(
getIndexBasedQueryName
(
i
));
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment