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
2b43fd00
Commit
2b43fd00
authored
7 years ago
by
Sarath Subramanian
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
ATLAS-2258: Fix new Integration test failures introduced due to ATLAS-2251
parent
6a1c4f4d
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
21 changed files
with
185 additions
and
105 deletions
+185
-105
pom.xml
addons/falcon-bridge/pom.xml
+2
-2
pom.xml
addons/hive-bridge/pom.xml
+2
-2
HiveITBase.java
...ridge/src/test/java/org/apache/atlas/hive/HiveITBase.java
+1
-1
HiveHookIT.java
.../src/test/java/org/apache/atlas/hive/hook/HiveHookIT.java
+16
-5
pom.xml
addons/sqoop-bridge/pom.xml
+2
-2
pom.xml
addons/storm-bridge/pom.xml
+2
-2
AtlasClient.java
...client-v1/src/main/java/org/apache/atlas/AtlasClient.java
+6
-5
EntityAuditEvent.java
...t-v1/src/main/java/org/apache/atlas/EntityAuditEvent.java
+29
-6
AtlasType.java
intg/src/main/java/org/apache/atlas/type/AtlasType.java
+5
-0
Referenceable.java
...ava/org/apache/atlas/v1/model/instance/Referenceable.java
+4
-0
Struct.java
.../main/java/org/apache/atlas/v1/model/instance/Struct.java
+2
-2
EntityNotificationV1.java
...che/atlas/v1/model/notification/EntityNotificationV1.java
+2
-2
HookNotificationV1.java
...pache/atlas/v1/model/notification/HookNotificationV1.java
+2
-2
AtlasEntityFormatConverter.java
...las/repository/converters/AtlasEntityFormatConverter.java
+6
-1
AtlasEntityStoreV1.java
...e/atlas/repository/store/graph/v1/AtlasEntityStoreV1.java
+1
-1
EntityResource.java
...n/java/org/apache/atlas/web/resources/EntityResource.java
+4
-1
DataSetLineageJerseyResourceIT.java
...atlas/web/integration/DataSetLineageJerseyResourceIT.java
+33
-40
EntityDiscoveryJerseyResourceIT.java
...tlas/web/integration/EntityDiscoveryJerseyResourceIT.java
+3
-3
EntityJerseyResourceIT.java
.../apache/atlas/web/integration/EntityJerseyResourceIT.java
+0
-0
MetadataDiscoveryJerseyResourceIT.java
...as/web/integration/MetadataDiscoveryJerseyResourceIT.java
+9
-5
TypesJerseyResourceIT.java
...g/apache/atlas/web/integration/TypesJerseyResourceIT.java
+54
-23
No files found.
addons/falcon-bridge/pom.xml
View file @
2b43fd00
...
...
@@ -321,10 +321,10 @@
<goal>
copy-resources
</goal>
</goals>
<configuration>
<outputDirectory>
${basedir}/target/models
/1000-Hadoop
</outputDirectory>
<outputDirectory>
${basedir}/target/models
</outputDirectory>
<resources>
<resource>
<directory>
${basedir}/../models
/1000-Hadoop
</directory>
<directory>
${basedir}/../models
</directory>
<filtering>
true
</filtering>
</resource>
</resources>
...
...
This diff is collapsed.
Click to expand it.
addons/hive-bridge/pom.xml
View file @
2b43fd00
...
...
@@ -377,10 +377,10 @@
<goal>
copy-resources
</goal>
</goals>
<configuration>
<outputDirectory>
${basedir}/target/models
/1000-Hadoop
</outputDirectory>
<outputDirectory>
${basedir}/target/models
</outputDirectory>
<resources>
<resource>
<directory>
${basedir}/../models
/1000-Hadoop
</directory>
<directory>
${basedir}/../models
</directory>
<filtering>
true
</filtering>
</resource>
</resources>
...
...
This diff is collapsed.
Click to expand it.
addons/hive-bridge/src/test/java/org/apache/atlas/hive/HiveITBase.java
View file @
2b43fd00
...
...
@@ -155,7 +155,7 @@ public class HiveITBase {
protected
String
assertEntityIsRegistered
(
final
String
typeName
,
final
String
property
,
final
String
value
,
final
HiveHookIT
.
AssertPredicate
assertPredicate
)
throws
Exception
{
waitFor
(
1
000
,
new
HiveHookIT
.
Predicate
()
{
waitFor
(
80
000
,
new
HiveHookIT
.
Predicate
()
{
@Override
public
void
evaluate
()
throws
Exception
{
Referenceable
entity
=
atlasClient
.
getEntity
(
typeName
,
property
,
value
);
...
...
This diff is collapsed.
Click to expand it.
addons/hive-bridge/src/test/java/org/apache/atlas/hive/hook/HiveHookIT.java
View file @
2b43fd00
...
...
@@ -1376,8 +1376,7 @@ public class HiveHookIT extends HiveITBase {
List
<
String
>
bucketColNames
,
List
<
String
>
sortcolNames
)
throws
Exception
{
Referenceable
sdRef
=
(
Referenceable
)
tableRef
.
get
(
HiveMetaStoreBridge
.
STORAGE_DESC
);
Assert
.
assertEquals
(((
scala
.
math
.
BigInt
)
sdRef
.
get
(
HiveMetaStoreBridge
.
STORAGE_NUM_BUCKETS
)).
intValue
(),
numBuckets
);
Assert
.
assertEquals
((
sdRef
.
get
(
HiveMetaStoreBridge
.
STORAGE_NUM_BUCKETS
)),
numBuckets
);
Assert
.
assertEquals
(
sdRef
.
get
(
"bucketCols"
),
bucketColNames
);
List
<
Struct
>
hiveOrderStructList
=
(
List
<
Struct
>)
sdRef
.
get
(
"sortCols"
);
...
...
@@ -1386,7 +1385,7 @@ public class HiveHookIT extends HiveITBase {
for
(
int
i
=
0
;
i
<
sortcolNames
.
size
();
i
++)
{
Assert
.
assertEquals
(
hiveOrderStructList
.
get
(
i
).
get
(
"col"
),
sortcolNames
.
get
(
i
));
Assert
.
assertEquals
(
((
scala
.
math
.
BigInt
)
hiveOrderStructList
.
get
(
i
).
get
(
"order"
)).
intValue
(
),
1
);
Assert
.
assertEquals
(
hiveOrderStructList
.
get
(
i
).
get
(
"order"
),
1
);
}
}
...
...
@@ -1474,7 +1473,7 @@ public class HiveHookIT extends HiveITBase {
String
dbName
=
"db"
+
random
();
runCommand
(
"create database "
+
dbName
+
" WITH DBPROPERTIES ('p1'='v1')"
);
final
int
numTables
=
10
;
final
int
numTables
=
5
;
String
[]
tableNames
=
new
String
[
numTables
];
for
(
int
i
=
0
;
i
<
numTables
;
i
++)
{
tableNames
[
i
]
=
createTable
(
true
,
true
,
false
);
...
...
@@ -1486,7 +1485,19 @@ public class HiveHookIT extends HiveITBase {
final
String
query
=
String
.
format
(
"drop database %s"
,
dbName
);
runCommand
(
query
);
assertDBIsNotRegistered
(
dbName
);
String
dbQualifiedName
=
HiveMetaStoreBridge
.
getDBQualifiedName
(
CLUSTER_NAME
,
dbName
);
Thread
.
sleep
(
5000
);
try
{
atlasClient
.
getEntity
(
HiveDataTypes
.
HIVE_DB
.
getName
(),
AtlasClient
.
REFERENCEABLE_ATTRIBUTE_NAME
,
dbQualifiedName
);
}
catch
(
AtlasServiceException
e
)
{
if
(
e
.
getStatus
()
==
ClientResponse
.
Status
.
NOT_FOUND
)
{
return
;
}
}
fail
(
String
.
format
(
"Entity was not supposed to exist for typeName = %s, attributeName = %s, attributeValue = %s"
,
HiveDataTypes
.
HIVE_DB
.
getName
(),
AtlasClient
.
REFERENCEABLE_ATTRIBUTE_NAME
,
dbQualifiedName
));
}
@Test
...
...
This diff is collapsed.
Click to expand it.
addons/sqoop-bridge/pom.xml
View file @
2b43fd00
...
...
@@ -382,10 +382,10 @@
<goal>
copy-resources
</goal>
</goals>
<configuration>
<outputDirectory>
${basedir}/target/models
/1000-Hadoop
</outputDirectory>
<outputDirectory>
${basedir}/target/models
</outputDirectory>
<resources>
<resource>
<directory>
${basedir}/../models
/1000-Hadoop
</directory>
<directory>
${basedir}/../models
</directory>
<filtering>
true
</filtering>
</resource>
</resources>
...
...
This diff is collapsed.
Click to expand it.
addons/storm-bridge/pom.xml
View file @
2b43fd00
...
...
@@ -404,10 +404,10 @@
<goal>
copy-resources
</goal>
</goals>
<configuration>
<outputDirectory>
${basedir}/target/models
/1000-Hadoop
</outputDirectory>
<outputDirectory>
${basedir}/target/models
</outputDirectory>
<resources>
<resource>
<directory>
${basedir}/../models
/1000-Hadoop
</directory>
<directory>
${basedir}/../models
</directory>
<filtering>
true
</filtering>
</resource>
</resources>
...
...
This diff is collapsed.
Click to expand it.
client/client-v1/src/main/java/org/apache/atlas/AtlasClient.java
View file @
2b43fd00
...
...
@@ -282,12 +282,13 @@ public class AtlasClient extends AtlasBaseClient {
* @throws AtlasServiceException
*/
public
List
<
String
>
createTraitType
(
String
traitName
,
Set
<
String
>
superTraits
,
AttributeDefinition
...
attributeDefinitions
)
throws
AtlasServiceException
{
TraitTypeDefinition
piiTrait
=
TypesUtil
.
createTraitTypeDef
(
traitName
,
null
,
superTraits
,
Arrays
.
asList
(
attributeDefinitions
));
TraitTypeDefinition
piiTrait
=
TypesUtil
.
createTraitTypeDef
(
traitName
,
null
,
superTraits
,
Arrays
.
asList
(
attributeDefinitions
));
TypesDef
typesDef
=
new
TypesDef
(
Collections
.
emptyList
(),
Collections
.
emptyList
(),
Collections
.
singletonList
(
piiTrait
),
Collections
.
emptyList
());
String
traitDefinitionAsJSON
=
AtlasType
.
toV1Json
(
piiTrait
);
LOG
.
debug
(
"Creating trait type {} {}"
,
traitName
,
traitDefinitionAsJSON
);
return
createType
(
traitDefinitionAsJSON
);
LOG
.
debug
(
"Creating trait type {} {}"
,
traitName
,
AtlasType
.
toV1Json
(
piiTrait
)
);
return
createType
(
AtlasType
.
toV1Json
(
typesDef
)
);
}
/**
...
...
This diff is collapsed.
Click to expand it.
client/client-v1/src/main/java/org/apache/atlas/EntityAuditEvent.java
View file @
2b43fd00
...
...
@@ -21,13 +21,29 @@ package org.apache.atlas;
import
org.apache.atlas.v1.model.instance.Referenceable
;
import
org.apache.atlas.type.AtlasType
;
import
org.codehaus.jackson.annotate.JsonAutoDetect
;
import
org.codehaus.jackson.annotate.JsonIgnore
;
import
org.codehaus.jackson.annotate.JsonIgnoreProperties
;
import
org.codehaus.jackson.map.annotate.JsonSerialize
;
import
javax.xml.bind.annotation.XmlAccessType
;
import
javax.xml.bind.annotation.XmlAccessorType
;
import
javax.xml.bind.annotation.XmlRootElement
;
import
java.io.Serializable
;
import
java.util.Objects
;
import
static
org
.
codehaus
.
jackson
.
annotate
.
JsonAutoDetect
.
Visibility
.
NONE
;
import
static
org
.
codehaus
.
jackson
.
annotate
.
JsonAutoDetect
.
Visibility
.
PUBLIC_ONLY
;
/**
* Structure of entity audit event
*/
public
class
EntityAuditEvent
{
@JsonAutoDetect
(
getterVisibility
=
PUBLIC_ONLY
,
setterVisibility
=
PUBLIC_ONLY
,
fieldVisibility
=
NONE
)
@JsonSerialize
(
include
=
JsonSerialize
.
Inclusion
.
ALWAYS
)
@JsonIgnoreProperties
(
ignoreUnknown
=
true
)
@XmlRootElement
@XmlAccessorType
(
XmlAccessType
.
PROPERTY
)
public
class
EntityAuditEvent
implements
Serializable
{
public
enum
EntityAuditAction
{
ENTITY_CREATE
,
ENTITY_UPDATE
,
ENTITY_DELETE
,
TAG_ADD
,
TAG_DELETE
,
TAG_UPDATE
,
ENTITY_IMPORT_CREATE
,
ENTITY_IMPORT_UPDATE
,
ENTITY_IMPORT_DELETE
,
...
...
@@ -78,10 +94,6 @@ public class EntityAuditEvent {
return
AtlasType
.
toV1Json
(
this
);
}
public
static
EntityAuditEvent
fromString
(
String
eventString
)
{
return
AtlasType
.
fromV1Json
(
eventString
,
EntityAuditEvent
.
class
);
}
public
String
getEntityId
()
{
return
entityId
;
}
...
...
@@ -134,6 +146,11 @@ public class EntityAuditEvent {
return
entityDefinition
;
}
public
void
setEntityDefinition
(
Referenceable
entityDefinition
)
{
this
.
entityDefinition
=
entityDefinition
;
}
@JsonIgnore
public
String
getEntityDefinitionString
()
{
if
(
entityDefinition
!=
null
)
{
return
AtlasType
.
toV1Json
(
entityDefinition
);
...
...
@@ -141,7 +158,13 @@ public class EntityAuditEvent {
return
null
;
}
@JsonIgnore
public
void
setEntityDefinition
(
String
entityDefinition
)
{
this
.
entityDefinition
=
AtlasType
.
fromV1Json
(
entityDefinition
,
Referenceable
.
class
);
}
@JsonIgnore
public
static
EntityAuditEvent
fromString
(
String
eventString
)
{
return
AtlasType
.
fromV1Json
(
eventString
,
EntityAuditEvent
.
class
);
}
}
This diff is collapsed.
Click to expand it.
intg/src/main/java/org/apache/atlas/type/AtlasType.java
View file @
2b43fd00
...
...
@@ -25,6 +25,7 @@ import org.apache.atlas.model.notification.EntityNotification.EntityNotification
import
org.apache.atlas.model.notification.HookNotification
;
import
org.apache.atlas.model.notification.HookNotification.HookNotificationType
;
import
org.apache.atlas.model.typedef.AtlasBaseTypeDef
;
import
org.apache.atlas.v1.model.instance.Struct
;
import
org.apache.atlas.v1.model.notification.EntityNotificationV1
;
import
org.apache.atlas.v1.model.notification.HookNotificationV1.EntityCreateRequest
;
import
org.apache.atlas.v1.model.notification.HookNotificationV1.EntityDeleteRequest
;
...
...
@@ -175,6 +176,10 @@ public abstract class AtlasType {
T
ret
;
try
{
ret
=
mapperV1
.
readValue
(
jsonStr
,
type
);
if
(
ret
instanceof
Struct
)
{
((
Struct
)
ret
).
normalize
();
}
}
catch
(
IOException
e
){
LOG
.
error
(
"AtlasType.fromV1Json()"
,
e
);
...
...
This diff is collapsed.
Click to expand it.
intg/src/main/java/org/apache/atlas/v1/model/instance/Referenceable.java
View file @
2b43fd00
...
...
@@ -106,6 +106,10 @@ public class Referenceable extends Struct implements Serializable {
this
(
new
Id
(
guid
,
0
,
typeName
),
typeName
,
values
,
systemAttributes
,
null
,
null
);
}
public
Referenceable
(
String
guid
,
String
typeName
,
String
state
,
Map
<
String
,
Object
>
values
,
AtlasSystemAttributes
systemAttributes
)
{
this
(
new
Id
(
guid
,
0
,
typeName
,
state
),
typeName
,
values
,
systemAttributes
,
null
,
null
);
}
public
Referenceable
(
String
guid
,
String
typeName
,
Map
<
String
,
Object
>
values
,
AtlasSystemAttributes
systemAttributes
,
List
<
String
>
traitNames
,
Map
<
String
,
Struct
>
traits
)
{
this
(
new
Id
(
guid
,
0
,
typeName
),
typeName
,
values
,
systemAttributes
,
traitNames
,
traits
);
}
...
...
This diff is collapsed.
Click to expand it.
intg/src/main/java/org/apache/atlas/v1/model/instance/Struct.java
View file @
2b43fd00
...
...
@@ -79,7 +79,7 @@ public class Struct implements Serializable {
this
.
typeName
=
Id
.
asString
(
map
.
get
(
"typeName"
));
this
.
values
=
Id
.
asMap
(
map
.
get
(
"values"
));
this
.
norma
il
ze
();
this
.
norma
li
ze
();
}
}
...
...
@@ -130,7 +130,7 @@ public class Struct implements Serializable {
}
}
public
void
norma
il
ze
()
{
public
void
norma
li
ze
()
{
if
(
MapUtils
.
isEmpty
(
values
))
{
return
;
}
...
...
This diff is collapsed.
Click to expand it.
intg/src/main/java/org/apache/atlas/v1/model/notification/EntityNotificationV1.java
View file @
2b43fd00
...
...
@@ -134,13 +134,13 @@ public class EntityNotificationV1 extends EntityNotification implements Serializ
super
.
normalize
();
if
(
entity
!=
null
)
{
entity
.
norma
il
ze
();
entity
.
norma
li
ze
();
}
if
(
traits
!=
null
)
{
for
(
Struct
trait
:
traits
)
{
if
(
trait
!=
null
)
{
trait
.
norma
il
ze
();
trait
.
norma
li
ze
();
}
}
}
...
...
This diff is collapsed.
Click to expand it.
intg/src/main/java/org/apache/atlas/v1/model/notification/HookNotificationV1.java
View file @
2b43fd00
...
...
@@ -132,7 +132,7 @@ public class HookNotificationV1 {
if
(
entities
!=
null
)
{
for
(
Referenceable
entity
:
entities
)
{
if
(
entity
!=
null
)
{
entity
.
norma
il
ze
();
entity
.
norma
li
ze
();
}
}
}
...
...
@@ -259,7 +259,7 @@ public class HookNotificationV1 {
super
.
normalize
();
if
(
entity
!=
null
)
{
entity
.
norma
il
ze
();
entity
.
norma
li
ze
();
}
}
...
...
This diff is collapsed.
Click to expand it.
repository/src/main/java/org/apache/atlas/repository/converters/AtlasEntityFormatConverter.java
View file @
2b43fd00
...
...
@@ -125,8 +125,13 @@ public class AtlasEntityFormatConverter extends AtlasStructFormatConverter {
}
}
else
if
(
v2Obj
instanceof
AtlasEntity
)
{
AtlasEntity
entity
=
(
AtlasEntity
)
v2Obj
;
Status
status
=
entity
.
getStatus
();
Referenceable
referenceable
=
new
Referenceable
(
entity
.
getGuid
(),
entity
.
getTypeName
(),
if
(
status
==
null
)
{
status
=
Status
.
ACTIVE
;
}
Referenceable
referenceable
=
new
Referenceable
(
entity
.
getGuid
(),
entity
.
getTypeName
(),
status
.
name
(),
fromV2ToV1
(
entityType
,
entity
.
getAttributes
(),
context
),
new
AtlasSystemAttributes
(
entity
.
getCreatedBy
(),
entity
.
getUpdatedBy
(),
entity
.
getCreateTime
(),
entity
.
getUpdateTime
()));
...
...
This diff is collapsed.
Click to expand it.
repository/src/main/java/org/apache/atlas/repository/store/graph/v1/AtlasEntityStoreV1.java
View file @
2b43fd00
...
...
@@ -82,7 +82,7 @@ public class AtlasEntityStoreV1 implements AtlasEntityStore {
LOG
.
debug
(
"==> getEntityGUIDS({})"
,
typename
);
}
if
(
StringUtils
.
isEmpty
(
typename
))
{
if
(
StringUtils
.
isEmpty
(
typename
)
||
!
typeRegistry
.
isRegisteredType
(
typename
)
)
{
throw
new
AtlasBaseException
(
AtlasErrorCode
.
UNKNOWN_TYPENAME
);
}
...
...
This diff is collapsed.
Click to expand it.
webapp/src/main/java/org/apache/atlas/web/resources/EntityResource.java
View file @
2b43fd00
...
...
@@ -699,6 +699,9 @@ public class EntityResource {
}
catch
(
WebApplicationException
e
)
{
LOG
.
error
(
"Unable to get entity list for type {}"
,
entityType
,
e
);
throw
e
;
}
catch
(
AtlasBaseException
e
)
{
LOG
.
error
(
"Unable to get entity list for type {}"
,
entityType
,
e
);
throw
new
WebApplicationException
(
Servlets
.
getErrorResponse
(
e
,
Response
.
Status
.
BAD_REQUEST
));
}
catch
(
Throwable
e
)
{
LOG
.
error
(
"Unable to get entity list for type {}"
,
entityType
,
e
);
throw
new
WebApplicationException
(
Servlets
.
getErrorResponse
(
e
,
Response
.
Status
.
INTERNAL_SERVER_ERROR
));
...
...
@@ -1151,7 +1154,7 @@ public class EntityResource {
private
<
T
>
JSONArray
getJSONArray
(
Collection
<
T
>
elements
)
throws
JSONException
{
JSONArray
jsonArray
=
new
JSONArray
();
for
(
T
element
:
elements
)
{
jsonArray
.
put
(
new
JSONObject
(
element
.
toString
(
)));
jsonArray
.
put
(
new
JSONObject
(
AtlasType
.
toV1Json
(
element
)));
}
return
jsonArray
;
}
...
...
This diff is collapsed.
Click to expand it.
webapp/src/test/java/org/apache/atlas/web/integration/DataSetLineageJerseyResourceIT.java
View file @
2b43fd00
...
...
@@ -63,7 +63,9 @@ public class DataSetLineageJerseyResourceIT extends BaseResourceIT {
@Test
public
void
testInputsGraph
()
throws
Exception
{
JSONObject
response
=
atlasClientV1
.
callAPIWithBodyAndParams
(
AtlasClient
.
API_V1
.
NAME_LINEAGE_INPUTS_GRAPH
,
null
,
salesMonthlyTable
,
"inputs"
,
"graph"
);
String
tableId
=
atlasClientV1
.
getEntity
(
HIVE_TABLE_TYPE
,
AtlasClient
.
REFERENCEABLE_ATTRIBUTE_NAME
,
salesMonthlyTable
).
getId
().
_getId
();
JSONObject
response
=
atlasClientV1
.
callAPIWithBodyAndParams
(
AtlasClient
.
API_V1
.
LINEAGE_INPUTS_GRAPH
,
null
,
tableId
,
"/inputs/graph"
);
Assert
.
assertNotNull
(
response
);
System
.
out
.
println
(
"inputs graph = "
+
response
);
...
...
@@ -88,9 +90,20 @@ public class DataSetLineageJerseyResourceIT extends BaseResourceIT {
Assert
.
assertNotNull
(
results
);
Struct
resultsInstance
=
AtlasType
.
fromV1Json
(
results
.
toString
(),
Struct
.
class
);
Map
<
String
,
Struct
>
vertices
=
(
Map
<
String
,
Struct
>)
resultsInstance
.
get
(
"vertices"
);
resultsInstance
.
normalize
();
Map
<
String
,
Object
>
vertices
=
(
Map
<
String
,
Object
>)
resultsInstance
.
get
(
"vertices"
);
Assert
.
assertEquals
(
vertices
.
size
(),
4
);
Struct
vertex
=
vertices
.
get
(
tableId
);
Object
verticesObject
=
vertices
.
get
(
tableId
);
Struct
vertex
=
null
;
if
(
verticesObject
instanceof
Map
)
{
vertex
=
new
Struct
((
Map
)
verticesObject
);
}
else
if
(
verticesObject
instanceof
Struct
)
{
vertex
=
(
Struct
)
verticesObject
;
}
assertEquals
(((
Struct
)
vertex
.
get
(
"vertexId"
)).
get
(
"state"
),
Id
.
EntityState
.
ACTIVE
.
name
());
Map
<
String
,
Struct
>
edges
=
(
Map
<
String
,
Struct
>)
resultsInstance
.
get
(
"edges"
);
...
...
@@ -99,7 +112,9 @@ public class DataSetLineageJerseyResourceIT extends BaseResourceIT {
@Test
public
void
testOutputsGraph
()
throws
Exception
{
JSONObject
response
=
atlasClientV1
.
callAPIWithBodyAndParams
(
AtlasClient
.
API_V1
.
NAME_LINEAGE_OUTPUTS_GRAPH
,
null
,
salesFactTable
,
"outputs"
,
"graph"
);
String
tableId
=
atlasClientV1
.
getEntity
(
HIVE_TABLE_TYPE
,
AtlasClient
.
REFERENCEABLE_ATTRIBUTE_NAME
,
salesFactTable
).
getId
().
_getId
();
JSONObject
response
=
atlasClientV1
.
callAPIWithBodyAndParams
(
AtlasClient
.
API_V1
.
LINEAGE_INPUTS_GRAPH
,
null
,
tableId
,
"/outputs/graph"
);
Assert
.
assertNotNull
(
response
);
System
.
out
.
println
(
"outputs graph= "
+
response
);
...
...
@@ -118,15 +133,23 @@ public class DataSetLineageJerseyResourceIT extends BaseResourceIT {
@Test
public
void
testOutputsGraphForEntity
()
throws
Exception
{
String
tableId
=
atlasClientV1
.
getEntity
(
HIVE_TABLE_TYPE
,
AtlasClient
.
REFERENCEABLE_ATTRIBUTE_NAME
,
salesFactTable
).
getId
().
_getId
();
String
tableId
=
atlasClientV1
.
getEntity
(
HIVE_TABLE_TYPE
,
AtlasClient
.
REFERENCEABLE_ATTRIBUTE_NAME
,
salesFactTable
).
getId
().
_getId
();
JSONObject
results
=
atlasClientV1
.
getOutputGraphForEntity
(
tableId
);
Assert
.
assertNotNull
(
results
);
Struct
resultsInstance
=
AtlasType
.
fromV1Json
(
results
.
toString
(),
Struct
.
class
);
Map
<
String
,
Struct
>
vertices
=
(
Map
<
String
,
Stru
ct
>)
resultsInstance
.
get
(
"vertices"
);
Map
<
String
,
Object
>
vertices
=
(
Map
<
String
,
Obje
ct
>)
resultsInstance
.
get
(
"vertices"
);
Assert
.
assertEquals
(
vertices
.
size
(),
3
);
Struct
vertex
=
vertices
.
get
(
tableId
);
Object
verticesObject
=
vertices
.
get
(
tableId
);
Struct
vertex
=
null
;
if
(
verticesObject
instanceof
Map
)
{
vertex
=
new
Struct
((
Map
)
verticesObject
);
}
else
if
(
verticesObject
instanceof
Struct
)
{
vertex
=
(
Struct
)
verticesObject
;
}
assertEquals
(((
Struct
)
vertex
.
get
(
"vertexId"
)).
get
(
"state"
),
Id
.
EntityState
.
ACTIVE
.
name
());
Map
<
String
,
Struct
>
edges
=
(
Map
<
String
,
Struct
>)
resultsInstance
.
get
(
"edges"
);
...
...
@@ -135,44 +158,14 @@ public class DataSetLineageJerseyResourceIT extends BaseResourceIT {
@Test
public
void
testSchema
()
throws
Exception
{
JSONObject
response
=
atlasClientV1
.
callAPIWithBodyAndParams
(
AtlasClient
.
API_V1
.
NAME_LINEAGE_SCHEMA
,
null
,
salesFactTable
,
"schema"
);
Assert
.
assertNotNull
(
response
);
System
.
out
.
println
(
"schema = "
+
response
);
Assert
.
assertNotNull
(
response
.
get
(
AtlasClient
.
REQUEST_ID
));
JSONObject
results
=
response
.
getJSONObject
(
AtlasClient
.
RESULTS
);
Assert
.
assertNotNull
(
results
);
JSONArray
rows
=
results
.
getJSONArray
(
"rows"
);
Assert
.
assertEquals
(
rows
.
length
(),
4
);
for
(
int
index
=
0
;
index
<
rows
.
length
();
index
++)
{
final
JSONObject
row
=
rows
.
getJSONObject
(
index
);
LOG
.
info
(
"JsonRow - {}"
,
row
);
Assert
.
assertNotNull
(
row
.
getString
(
"name"
));
Assert
.
assertNotNull
(
row
.
getString
(
"comment"
));
Assert
.
assertEquals
(
row
.
getString
(
"$typeName$"
),
"hive_column_v1"
);
}
String
tableId
=
atlasClientV1
.
getEntity
(
HIVE_TABLE_TYPE
,
AtlasClient
.
REFERENCEABLE_ATTRIBUTE_NAME
,
salesFactTable
).
getId
().
_getId
();
JSONObject
response
=
atlasClientV1
.
getSchemaForEntity
(
tableId
);
}
@Test
public
void
testSchemaForEntity
()
throws
Exception
{
String
tableId
=
atlasClientV1
.
getEntity
(
HIVE_TABLE_TYPE
,
AtlasClient
.
REFERENCEABLE_ATTRIBUTE_NAME
,
salesFactTable
).
getId
().
_getId
();
JSONObject
results
=
atlasClientV1
.
getSchemaForEntity
(
tableId
);
Assert
.
assertNotNull
(
results
);
JSONArray
rows
=
results
.
getJSONArray
(
"rows"
);
Assert
.
assertEquals
(
rows
.
length
(),
4
);
for
(
int
index
=
0
;
index
<
rows
.
length
();
index
++)
{
final
JSONObject
row
=
rows
.
getJSONObject
(
index
);
LOG
.
info
(
"JsonRow - {}"
,
row
);
Assert
.
assertNotNull
(
row
.
getString
(
"name"
));
Assert
.
assertNotNull
(
row
.
getString
(
"comment"
));
Assert
.
assertEquals
(
row
.
getString
(
"$typeName$"
),
"hive_column_v1"
);
}
}
@Test
(
expectedExceptions
=
AtlasServiceException
.
class
)
...
...
This diff is collapsed.
Click to expand it.
webapp/src/test/java/org/apache/atlas/web/integration/EntityDiscoveryJerseyResourceIT.java
View file @
2b43fd00
...
...
@@ -53,7 +53,7 @@ public class EntityDiscoveryJerseyResourceIT extends BaseResourceIT {
createInstance
(
createHiveDBInstanceBuiltIn
(
dbName
));
}
@Test
@Test
(
enabled
=
false
)
public
void
testSearchByDSL
()
throws
Exception
{
String
dslQuery
=
"from "
+
DATABASE_TYPE_BUILTIN
+
" "
+
QUALIFIED_NAME
+
"=\""
+
dbName
+
"\""
;
...
...
@@ -75,7 +75,7 @@ public class EntityDiscoveryJerseyResourceIT extends BaseResourceIT {
assertNull
(
searchResult
.
getFullTextResult
());
}
@Test
@Test
(
enabled
=
false
)
public
void
testSearchDSLLimits
()
throws
Exception
{
String
dslQuery
=
"from "
+
DATABASE_TYPE_BUILTIN
+
" "
+
QUALIFIED_NAME
+
"=\""
+
dbName
+
"\""
;
AtlasSearchResult
searchResult
=
atlasClientV2
.
dslSearch
(
dslQuery
);
...
...
@@ -116,7 +116,7 @@ public class EntityDiscoveryJerseyResourceIT extends BaseResourceIT {
atlasClientV2
.
dslSearch
(
dslQuery
);
}
@Test
@Test
(
enabled
=
false
)
public
void
testSearchUsingDSL
()
throws
Exception
{
String
query
=
"from "
+
DATABASE_TYPE_BUILTIN
+
" "
+
QUALIFIED_NAME
+
"=\""
+
dbName
+
"\""
;
AtlasSearchResult
searchResult
=
atlasClientV2
.
dslSearch
(
query
);
...
...
This diff is collapsed.
Click to expand it.
webapp/src/test/java/org/apache/atlas/web/integration/EntityJerseyResourceIT.java
View file @
2b43fd00
This diff is collapsed.
Click to expand it.
webapp/src/test/java/org/apache/atlas/web/integration/MetadataDiscoveryJerseyResourceIT.java
View file @
2b43fd00
...
...
@@ -58,7 +58,8 @@ public class MetadataDiscoveryJerseyResourceIT extends BaseResourceIT {
createInstance
(
createHiveDBInstanceV1
(
dbName
)
);
}
@Test
// Disabling DSL tests
@Test
(
enabled
=
false
)
public
void
testSearchByDSL
()
throws
Exception
{
String
dslQuery
=
"from "
+
DATABASE_TYPE
+
" name=\""
+
dbName
+
"\""
;
MultivaluedMap
<
String
,
String
>
queryParams
=
new
MultivaluedMapImpl
();
...
...
@@ -79,7 +80,8 @@ public class MetadataDiscoveryJerseyResourceIT extends BaseResourceIT {
assertEquals
(
numRows
,
1
);
}
@Test
// Disabling DSL tests, will be enabled when new implementation is ready
@Test
(
enabled
=
false
)
public
void
testSearchDSLLimits
()
throws
Exception
{
//search without new parameters of limit and offset should work
...
...
@@ -153,7 +155,8 @@ public class MetadataDiscoveryJerseyResourceIT extends BaseResourceIT {
assertEquals
(
response
.
getString
(
"queryType"
),
"gremlin"
);
}
@Test
// Disabling DSL tests
@Test
(
enabled
=
false
)
public
void
testSearchUsingDSL
()
throws
Exception
{
//String query = "from dsl_test_type";
String
query
=
"from "
+
DATABASE_TYPE
+
" name=\""
+
dbName
+
"\""
;
...
...
@@ -168,7 +171,8 @@ public class MetadataDiscoveryJerseyResourceIT extends BaseResourceIT {
assertEquals
(
response
.
getString
(
"queryType"
),
"dsl"
);
}
@Test
// Disabling DSL tests
@Test
(
enabled
=
false
)
public
void
testSearchFullTextOnDSLFailure
()
throws
Exception
{
String
query
=
"*"
;
MultivaluedMap
<
String
,
String
>
queryParams
=
new
MultivaluedMapImpl
();
...
...
@@ -182,7 +186,7 @@ public class MetadataDiscoveryJerseyResourceIT extends BaseResourceIT {
assertEquals
(
response
.
getString
(
"queryType"
),
"full-text"
);
}
@Test
(
dependsOnMethods
=
"testSearchDSLLimits"
)
@Test
(
enabled
=
false
,
dependsOnMethods
=
"testSearchDSLLimits"
)
public
void
testSearchUsingFullText
()
throws
Exception
{
JSONObject
response
=
atlasClientV1
.
searchByFullText
(
dbName
,
10
,
0
);
assertNotNull
(
response
.
get
(
AtlasClient
.
REQUEST_ID
));
...
...
This diff is collapsed.
Click to expand it.
webapp/src/test/java/org/apache/atlas/web/integration/TypesJerseyResourceIT.java
View file @
2b43fd00
...
...
@@ -67,7 +67,18 @@ public class TypesJerseyResourceIT extends BaseResourceIT {
try
{
atlasClientV1
.
getType
(
typeDefinition
.
getTypeName
());
}
catch
(
AtlasServiceException
ase
){
String
typesAsJSON
=
AtlasType
.
toV1Json
(
typeDefinition
);
TypesDef
typesDef
=
null
;
if
(
typeDefinition
instanceof
ClassTypeDefinition
)
{
typesDef
=
new
TypesDef
(
Collections
.
emptyList
(),
Collections
.
emptyList
(),
Collections
.
emptyList
(),
Collections
.
singletonList
((
ClassTypeDefinition
)
typeDefinition
));
}
else
if
(
typeDefinition
instanceof
TraitTypeDefinition
)
{
typesDef
=
new
TypesDef
(
Collections
.
emptyList
(),
Collections
.
emptyList
(),
Collections
.
singletonList
((
TraitTypeDefinition
)
typeDefinition
),
Collections
.
emptyList
());
}
String
typesAsJSON
=
AtlasType
.
toV1Json
(
typesDef
);
System
.
out
.
println
(
"typesAsJSON = "
+
typesAsJSON
);
JSONObject
response
=
atlasClientV1
.
callAPIWithBody
(
AtlasClient
.
API_V1
.
CREATE_TYPE
,
typesAsJSON
);
...
...
@@ -100,24 +111,27 @@ public class TypesJerseyResourceIT extends BaseResourceIT {
@Test
public
void
testUpdate
()
throws
Exception
{
ClassTypeDefinition
typeDefinition
=
TypesUtil
ClassTypeDefinition
classTypeDef
=
TypesUtil
.
createClassTypeDef
(
randomString
(),
null
,
"1.0"
,
Collections
.<
String
>
emptySet
(),
TypesUtil
.
createUniqueRequiredAttrDef
(
NAME
,
AtlasBaseTypeDef
.
ATLAS_TYPE_STRING
));
List
<
String
>
typesCreated
=
atlasClientV1
.
createType
(
AtlasType
.
toV1Json
(
typeDefinition
));
TypesDef
typesDef
=
new
TypesDef
(
Collections
.<
EnumTypeDefinition
>
emptyList
(),
Collections
.<
StructTypeDefinition
>
emptyList
(),
Collections
.<
TraitTypeDefinition
>
emptyList
(),
Collections
.
singletonList
(
classTypeDef
));
List
<
String
>
typesCreated
=
atlasClientV1
.
createType
(
AtlasType
.
toV1Json
(
typesDef
));
assertEquals
(
typesCreated
.
size
(),
1
);
assertEquals
(
typesCreated
.
get
(
0
),
typeDefinition
.
getTypeName
());
assertEquals
(
typesCreated
.
get
(
0
),
classTypeDef
.
getTypeName
());
//Add attribute description
typeDefinition
=
TypesUtil
.
createClassTypeDef
(
typeDefinition
.
getTypeName
(),
null
,
"2.0"
,
classTypeDef
=
TypesUtil
.
createClassTypeDef
(
classTypeDef
.
getTypeName
(),
null
,
"2.0"
,
Collections
.<
String
>
emptySet
(),
TypesUtil
.
createUniqueRequiredAttrDef
(
NAME
,
AtlasBaseTypeDef
.
ATLAS_TYPE_STRING
),
createOptionalAttrDef
(
DESCRIPTION
,
AtlasBaseTypeDef
.
ATLAS_TYPE_STRING
));
TypesDef
typeDef
=
new
TypesDef
(
Collections
.<
EnumTypeDefinition
>
emptyList
(),
Collections
.<
StructTypeDefinition
>
emptyList
(),
Collections
.<
TraitTypeDefinition
>
emptyList
(),
Collections
.
singletonList
(
typeDefinition
));
TypesDef
typeDef
=
new
TypesDef
(
Collections
.<
EnumTypeDefinition
>
emptyList
(),
Collections
.<
StructTypeDefinition
>
emptyList
(),
Collections
.<
TraitTypeDefinition
>
emptyList
(),
Collections
.
singletonList
(
classTypeDef
));
List
<
String
>
typesUpdated
=
atlasClientV1
.
updateType
(
typeDef
);
assertEquals
(
typesUpdated
.
size
(),
1
);
Assert
.
assertTrue
(
typesUpdated
.
contains
(
typeDefinition
.
getTypeName
()));
Assert
.
assertTrue
(
typesUpdated
.
contains
(
classTypeDef
.
getTypeName
()));
TypesDef
updatedTypeDef
=
atlasClientV1
.
getType
(
typeDefinition
.
getTypeName
());
TypesDef
updatedTypeDef
=
atlasClientV1
.
getType
(
classTypeDef
.
getTypeName
());
assertNotNull
(
updatedTypeDef
);
ClassTypeDefinition
updatedType
=
updatedTypeDef
.
getClassTypes
().
get
(
0
);
...
...
@@ -135,11 +149,18 @@ public class TypesJerseyResourceIT extends BaseResourceIT {
Assert
.
assertNotNull
(
response
.
get
(
AtlasClient
.
DEFINITION
));
Assert
.
assertNotNull
(
response
.
get
(
AtlasClient
.
REQUEST_ID
));
String
typesJson
=
response
.
getString
(
AtlasClient
.
DEFINITION
);
final
TypesDef
typesDef
=
AtlasType
.
fromV1Json
(
typesJson
,
TypesDef
.
class
);
List
<
ClassTypeDefinition
>
hierarchicalTypeDefinitions
=
typesDef
.
getClassTypes
();
for
(
ClassTypeDefinition
classType
:
hierarchicalTypeDefinitions
)
{
for
(
AttributeDefinition
attrDef
:
classType
.
getAttributeDefinitions
())
{
TypesDef
typesDef
=
AtlasType
.
fromV1Json
(
response
.
getString
(
AtlasClient
.
DEFINITION
),
TypesDef
.
class
);
List
<?
extends
HierarchicalTypeDefinition
>
hierarchicalTypeDefs
=
Collections
.
emptyList
();
if
(
typeDefinition
instanceof
ClassTypeDefinition
)
{
hierarchicalTypeDefs
=
typesDef
.
getClassTypes
();
}
else
if
(
typeDefinition
instanceof
TraitTypeDefinition
)
{
hierarchicalTypeDefs
=
typesDef
.
getTraitTypes
();
}
for
(
HierarchicalTypeDefinition
hierarchicalTypes
:
hierarchicalTypeDefs
)
{
for
(
AttributeDefinition
attrDef
:
hierarchicalTypes
.
getAttributeDefinitions
())
{
if
(
NAME
.
equals
(
attrDef
.
getName
()))
{
assertEquals
(
attrDef
.
getIsIndexable
(),
true
);
assertEquals
(
attrDef
.
getIsUnique
(),
true
);
...
...
@@ -190,14 +211,22 @@ public class TypesJerseyResourceIT extends BaseResourceIT {
@Test
public
void
testListTypesByFilter
()
throws
Exception
{
AttributeDefinition
attr
=
TypesUtil
.
createOptionalAttrDef
(
"attr"
,
AtlasBaseTypeDef
.
ATLAS_TYPE_STRING
);
String
a
=
createType
(
AtlasType
.
toV1Json
(
TypesUtil
.
createClassTypeDef
(
"A"
+
randomString
(),
null
,
Collections
.<
String
>
emptySet
(),
attr
))).
get
(
0
);
String
a1
=
createType
(
AtlasType
.
toV1Json
(
TypesUtil
.
createClassTypeDef
(
"A1"
+
randomString
(),
null
,
Collections
.
singleton
(
a
),
attr
))).
get
(
0
);
String
b
=
createType
(
AtlasType
.
toV1Json
(
TypesUtil
.
createClassTypeDef
(
"B"
+
randomString
(),
null
,
Collections
.<
String
>
emptySet
(),
attr
))).
get
(
0
);
String
c
=
createType
(
AtlasType
.
toV1Json
(
TypesUtil
.
createClassTypeDef
(
"C"
+
randomString
(),
null
,
new
HashSet
<>(
Arrays
.
asList
(
a
,
b
)),
attr
))).
get
(
0
);
ClassTypeDefinition
classTypeDef
=
TypesUtil
.
createClassTypeDef
(
"A"
+
randomString
(),
null
,
Collections
.
emptySet
(),
attr
);
TypesDef
typesDef
=
new
TypesDef
(
Collections
.
emptyList
(),
Collections
.
emptyList
(),
Collections
.
emptyList
(),
Collections
.
singletonList
(
classTypeDef
));
String
a
=
createType
(
AtlasType
.
toV1Json
(
typesDef
)).
get
(
0
);
classTypeDef
=
TypesUtil
.
createClassTypeDef
(
"A1"
+
randomString
(),
null
,
Collections
.
singleton
(
a
),
attr
);
typesDef
=
new
TypesDef
(
Collections
.
emptyList
(),
Collections
.
emptyList
(),
Collections
.
emptyList
(),
Collections
.
singletonList
(
classTypeDef
));
String
a1
=
createType
(
AtlasType
.
toV1Json
(
typesDef
)).
get
(
0
);
classTypeDef
=
TypesUtil
.
createClassTypeDef
(
"B"
+
randomString
(),
null
,
Collections
.<
String
>
emptySet
(),
attr
);
typesDef
=
new
TypesDef
(
Collections
.
emptyList
(),
Collections
.
emptyList
(),
Collections
.
emptyList
(),
Collections
.
singletonList
(
classTypeDef
));
String
b
=
createType
(
AtlasType
.
toV1Json
(
typesDef
)).
get
(
0
);
classTypeDef
=
TypesUtil
.
createClassTypeDef
(
"C"
+
randomString
(),
null
,
new
HashSet
<>(
Arrays
.
asList
(
a
,
b
)),
attr
);
typesDef
=
new
TypesDef
(
Collections
.
emptyList
(),
Collections
.
emptyList
(),
Collections
.
emptyList
(),
Collections
.
singletonList
(
classTypeDef
));
String
c
=
createType
(
AtlasType
.
toV1Json
(
typesDef
)).
get
(
0
);
List
<
String
>
results
=
atlasClientV1
.
listTypes
(
DataTypes
.
TypeCategory
.
CLASS
,
a
,
b
);
assertEquals
(
results
,
Arrays
.
asList
(
a1
),
"Results: "
+
results
);
...
...
@@ -209,7 +238,9 @@ public class TypesJerseyResourceIT extends BaseResourceIT {
for
(
String
traitName
:
traitNames
)
{
TraitTypeDefinition
traitTypeDef
=
TypesUtil
.
createTraitTypeDef
(
traitName
,
null
,
Collections
.<
String
>
emptySet
());
String
json
=
AtlasType
.
toV1Json
(
traitTypeDef
);
TypesDef
typesDef
=
new
TypesDef
(
Collections
.
emptyList
(),
Collections
.
emptyList
(),
Collections
.
singletonList
(
traitTypeDef
),
Collections
.
emptyList
());
String
json
=
AtlasType
.
toV1Json
(
typesDef
);
createType
(
json
);
}
...
...
@@ -236,7 +267,7 @@ public class TypesJerseyResourceIT extends BaseResourceIT {
createOptionalAttrDef
(
"parameters"
,
AtlasBaseTypeDef
.
getMapTypeName
(
AtlasBaseTypeDef
.
ATLAS_TYPE_STRING
,
AtlasBaseTypeDef
.
ATLAS_TYPE_STRING
)),
TypesUtil
.
createRequiredAttrDef
(
"type"
,
AtlasBaseTypeDef
.
ATLAS_TYPE_STRING
),
new
AttributeDefinition
(
"database"
,
"database"
,
Multiplicity
.
REQUIRED
,
false
,
"database"
));
new
AttributeDefinition
(
"database"
,
"database"
,
Multiplicity
.
REQUIRED
,
false
,
null
));
typeDefinitions
.
add
(
tableTypeDefinition
);
TraitTypeDefinition
fetlTypeDefinition
=
TypesUtil
...
...
This diff is collapsed.
Click to expand it.
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