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
cd49be50
Commit
cd49be50
authored
7 years ago
by
nixonrodrigues
Committed by
Madhan Neethiraj
7 years ago
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
ATLAS-2038 : Integration Tests for AtlasAuthentication and Authorization Filter
Signed-off-by:
Madhan Neethiraj
<
madhan@apache.org
>
parent
d86be7a3
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
97 additions
and
89 deletions
+97
-89
AtlasAuthenticationSimpleFilterIT.java
.../atlas/web/filters/AtlasAuthenticationSimpleFilterIT.java
+97
-0
AtlasAuthenticationSimpleFilterTest.java
...tlas/web/filters/AtlasAuthenticationSimpleFilterTest.java
+0
-89
No files found.
webapp/src/test/java/org/apache/atlas/web/filters/AtlasAuthenticationSimpleFilterIT.java
0 → 100644
View file @
cd49be50
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package
org
.
apache
.
atlas
.
web
.
filters
;
import
org.apache.atlas.web.security.BaseSecurityTest
;
import
org.testng.Assert
;
import
org.testng.annotations.Test
;
import
sun.misc.BASE64Encoder
;
import
javax.ws.rs.core.Response
;
import
java.net.HttpURLConnection
;
import
java.net.URL
;
import
static
org
.
testng
.
Assert
.
assertEquals
;
/**
*
*/
public
class
AtlasAuthenticationSimpleFilterIT
extends
BaseSecurityTest
{
private
BASE64Encoder
enc
=
new
sun
.
misc
.
BASE64Encoder
();
@Test
(
enabled
=
true
)
public
void
testSimpleLoginForValidUser
()
throws
Exception
{
URL
url
=
new
URL
(
"http://localhost:31000/api/atlas/admin/session"
);
HttpURLConnection
connection
=
(
HttpURLConnection
)
url
.
openConnection
();
connection
.
setRequestMethod
(
"GET"
);
String
userpassword
=
"admin:admin"
;
// right password
String
encodedAuthorization
=
enc
.
encode
(
userpassword
.
getBytes
());
connection
.
setRequestProperty
(
"Authorization"
,
"Basic "
+
encodedAuthorization
);
connection
.
connect
();
assertEquals
(
connection
.
getResponseCode
(),
Response
.
Status
.
OK
.
getStatusCode
());
}
@Test
(
enabled
=
true
)
public
void
testAccessforUnauthenticatedResource
()
throws
Exception
{
URL
url
=
new
URL
(
"http://localhost:31000/api/atlas/admin/status"
);
HttpURLConnection
connection
=
(
HttpURLConnection
)
url
.
openConnection
();
connection
.
setRequestMethod
(
"GET"
);
connection
.
connect
();
assertEquals
(
connection
.
getResponseCode
(),
Response
.
Status
.
OK
.
getStatusCode
());
}
@Test
(
enabled
=
true
)
public
void
testSimpleLoginAndAuthorizationWithValidCrendentialsAndInvalidAccessToResource
()
throws
Exception
{
try
{
URL
url
=
new
URL
(
"http://localhost:31000/api/atlas/v1/taxonomies"
);
HttpURLConnection
connection
=
(
HttpURLConnection
)
url
.
openConnection
();
connection
.
setRequestMethod
(
"GET"
);
String
userpassword
=
"rangertagsync:rangertagsync"
;
//right password with no policy for taxonomies api
String
encodedAuthorization
=
enc
.
encode
(
userpassword
.
getBytes
());
connection
.
setRequestProperty
(
"Authorization"
,
"Basic "
+
encodedAuthorization
);
connection
.
connect
();
assertEquals
(
connection
.
getResponseCode
(),
403
);
}
catch
(
Exception
e
)
{
Assert
.
fail
(
"Failed with exception "
+
e
.
getMessage
());
}
}
@Test
(
enabled
=
true
)
public
void
testSimpleLoginWithInvalidCrendentials
()
throws
Exception
{
URL
url
=
new
URL
(
"http://localhost:31000/api/atlas/admin/session"
);
HttpURLConnection
connection
=
(
HttpURLConnection
)
url
.
openConnection
();
connection
.
setRequestMethod
(
"GET"
);
String
userpassword
=
"admin:admin1"
;
//wrong password
String
encodedAuthorization
=
enc
.
encode
(
userpassword
.
getBytes
());
connection
.
setRequestProperty
(
"Authorization"
,
"Basic "
+
encodedAuthorization
);
connection
.
connect
();
assertEquals
(
connection
.
getResponseCode
(),
401
);
}
}
This diff is collapsed.
Click to expand it.
webapp/src/test/java/org/apache/atlas/web/filters/AtlasAuthenticationSimpleFilterTest.java
deleted
100644 → 0
View file @
d86be7a3
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package
org
.
apache
.
atlas
.
web
.
filters
;
import
org.apache.atlas.RequestContext
;
import
org.apache.atlas.web.security.BaseSecurityTest
;
import
org.apache.atlas.web.service.EmbeddedServer
;
import
org.apache.commons.configuration.PropertiesConfiguration
;
import
org.eclipse.jetty.server.Server
;
import
org.testng.annotations.Test
;
import
javax.ws.rs.core.Response
;
import
java.io.IOException
;
import
java.net.HttpURLConnection
;
import
java.net.URL
;
import
static
org
.
testng
.
Assert
.
assertEquals
;
/**
*
*/
public
class
AtlasAuthenticationSimpleFilterTest
extends
BaseSecurityTest
{
public
static
final
String
TESTUSER
=
"testuser"
;
class
TestEmbeddedServer
extends
EmbeddedServer
{
public
TestEmbeddedServer
(
int
port
,
String
path
)
throws
IOException
{
super
(
port
,
path
);
}
Server
getServer
()
{
return
server
;
}
}
@Test
(
enabled
=
false
)
public
void
testSimpleLogin
()
throws
Exception
{
String
originalConf
=
System
.
getProperty
(
"atlas.conf"
);
System
.
setProperty
(
"atlas.conf"
,
System
.
getProperty
(
"user.dir"
));
generateSimpleLoginConfiguration
();
TestEmbeddedServer
server
=
new
TestEmbeddedServer
(
23001
,
"webapp/target/apache-atlas"
);
try
{
startEmbeddedServer
(
server
.
getServer
());
URL
url
=
new
URL
(
"http://localhost:23001"
);
HttpURLConnection
connection
=
(
HttpURLConnection
)
url
.
openConnection
();
connection
.
setRequestMethod
(
"GET"
);
connection
.
connect
();
assertEquals
(
connection
.
getResponseCode
(),
Response
.
Status
.
BAD_REQUEST
.
getStatusCode
());
url
=
new
URL
(
"http://localhost:23001/?user.name=testuser"
);
connection
=
(
HttpURLConnection
)
url
.
openConnection
();
connection
.
setRequestMethod
(
"GET"
);
connection
.
connect
();
assertEquals
(
connection
.
getResponseCode
(),
Response
.
Status
.
OK
.
getStatusCode
());
assertEquals
(
RequestContext
.
get
().
getUser
(),
TESTUSER
);
}
finally
{
server
.
getServer
().
stop
();
if
(
originalConf
!=
null
)
{
System
.
setProperty
(
"atlas.conf"
,
originalConf
);
}
else
{
System
.
clearProperty
(
"atlas.conf"
);
}
}
}
protected
String
generateSimpleLoginConfiguration
()
throws
Exception
{
PropertiesConfiguration
config
=
new
PropertiesConfiguration
();
config
.
setProperty
(
"atlas.http.authentication.enabled"
,
"true"
);
config
.
setProperty
(
"atlas.http.authentication.type"
,
"simple"
);
return
writeConfiguration
(
config
);
}
}
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