Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
S
solo
Project overview
Project overview
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
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
Administrator
solo
Commits
72dd4348
Commit
72dd4348
authored
Nov 06, 2016
by
D
Committed by
GitHub
Nov 06, 2016
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #12195 from b3log/1.7.0-dev
1.7.0 dev
parents
d6adfb06
d16374d6
Changes
10
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
655 additions
and
73 deletions
+655
-73
src/main/java/org/b3log/solo/model/sitemap/Sitemap.java
src/main/java/org/b3log/solo/model/sitemap/Sitemap.java
+2
-2
src/main/java/org/b3log/solo/processor/PageProcessor.java
src/main/java/org/b3log/solo/processor/PageProcessor.java
+0
-2
src/test/java/org/b3log/solo/processor/CommentProcessorTestCase.java
...va/org/b3log/solo/processor/CommentProcessorTestCase.java
+1
-5
src/test/java/org/b3log/solo/processor/ErrorProcessorTestCase.java
...java/org/b3log/solo/processor/ErrorProcessorTestCase.java
+92
-0
src/test/java/org/b3log/solo/processor/FeedProcessorTestCase.java
.../java/org/b3log/solo/processor/FeedProcessorTestCase.java
+15
-0
src/test/java/org/b3log/solo/processor/InitProcessorTestCase.java
.../java/org/b3log/solo/processor/InitProcessorTestCase.java
+19
-64
src/test/java/org/b3log/solo/processor/LoginProcessorTestCase.java
...java/org/b3log/solo/processor/LoginProcessorTestCase.java
+218
-0
src/test/java/org/b3log/solo/processor/PageProcessorTestCase.java
.../java/org/b3log/solo/processor/PageProcessorTestCase.java
+125
-0
src/test/java/org/b3log/solo/processor/SitemapProcessorTestCase.java
...va/org/b3log/solo/processor/SitemapProcessorTestCase.java
+90
-0
src/test/java/org/b3log/solo/processor/StatProcessorTestCase.java
.../java/org/b3log/solo/processor/StatProcessorTestCase.java
+93
-0
No files found.
src/main/java/org/b3log/solo/model/sitemap/Sitemap.java
View file @
72dd4348
...
@@ -38,7 +38,7 @@ public final class Sitemap {
...
@@ -38,7 +38,7 @@ public final class Sitemap {
/**
/**
* Start document.
* Start document.
*/
*/
private
static
final
String
START_DOCUMENT
=
"<?xml version=
'1.0' encoding='UTF-8'
?>"
;
private
static
final
String
START_DOCUMENT
=
"<?xml version=
\"1.0\" encoding=\"UTF-8\"
?>"
;
/**
/**
* Start URL set element.
* Start URL set element.
...
@@ -53,7 +53,7 @@ public final class Sitemap {
...
@@ -53,7 +53,7 @@ public final class Sitemap {
/**
/**
* URLs.
* URLs.
*/
*/
private
List
<
URL
>
urls
=
new
ArrayList
<
URL
>();
private
List
<
URL
>
urls
=
new
ArrayList
<>();
/**
/**
* Adds the specified url.
* Adds the specified url.
...
...
src/main/java/org/b3log/solo/processor/PageProcessor.java
View file @
72dd4348
...
@@ -118,8 +118,6 @@ public class PageProcessor {
...
@@ -118,8 +118,6 @@ public class PageProcessor {
Skins
.
fillLangs
(
preference
.
getString
(
Option
.
ID_C_LOCALE_STRING
),
(
String
)
request
.
getAttribute
(
Keys
.
TEMAPLTE_DIR_NAME
),
dataModel
);
Skins
.
fillLangs
(
preference
.
getString
(
Option
.
ID_C_LOCALE_STRING
),
(
String
)
request
.
getAttribute
(
Keys
.
TEMAPLTE_DIR_NAME
),
dataModel
);
final
Map
<
String
,
String
>
langs
=
langPropsService
.
getAll
(
Latkes
.
getLocale
());
// See PermalinkFilter#dispatchToArticleOrPageProcessor()
// See PermalinkFilter#dispatchToArticleOrPageProcessor()
final
JSONObject
page
=
(
JSONObject
)
request
.
getAttribute
(
Page
.
PAGE
);
final
JSONObject
page
=
(
JSONObject
)
request
.
getAttribute
(
Page
.
PAGE
);
...
...
src/test/java/org/b3log/solo/processor/CommentProcessorTestCase.java
View file @
72dd4348
...
@@ -43,7 +43,7 @@ import org.testng.annotations.Test;
...
@@ -43,7 +43,7 @@ import org.testng.annotations.Test;
* {@link CommentProcessorTestCase} test case.
* {@link CommentProcessorTestCase} test case.
*
*
* @author <a href="http://88250.b3log.org">Liang Ding</a>
* @author <a href="http://88250.b3log.org">Liang Ding</a>
* @version 1.0.0.
0, Nov 2
, 2016
* @version 1.0.0.
1, Nov 5
, 2016
* @since 1.7.0
* @since 1.7.0
*/
*/
@Test
(
suiteName
=
"processor"
)
@Test
(
suiteName
=
"processor"
)
...
@@ -76,8 +76,6 @@ public class CommentProcessorTestCase extends AbstractTestCase {
...
@@ -76,8 +76,6 @@ public class CommentProcessorTestCase extends AbstractTestCase {
*/
*/
@Test
(
dependsOnMethods
=
"init"
)
@Test
(
dependsOnMethods
=
"init"
)
public
void
addPageComment
()
throws
Exception
{
public
void
addPageComment
()
throws
Exception
{
addPage
();
final
HttpServletRequest
request
=
mock
(
HttpServletRequest
.
class
);
final
HttpServletRequest
request
=
mock
(
HttpServletRequest
.
class
);
when
(
request
.
getServletContext
()).
thenReturn
(
mock
(
ServletContext
.
class
));
when
(
request
.
getServletContext
()).
thenReturn
(
mock
(
ServletContext
.
class
));
when
(
request
.
getRequestURI
()).
thenReturn
(
"/add-page-comment.do"
);
when
(
request
.
getRequestURI
()).
thenReturn
(
"/add-page-comment.do"
);
...
@@ -120,8 +118,6 @@ public class CommentProcessorTestCase extends AbstractTestCase {
...
@@ -120,8 +118,6 @@ public class CommentProcessorTestCase extends AbstractTestCase {
*/
*/
@Test
(
dependsOnMethods
=
"init"
)
@Test
(
dependsOnMethods
=
"init"
)
public
void
addArticleComment
()
throws
Exception
{
public
void
addArticleComment
()
throws
Exception
{
addPage
();
final
HttpServletRequest
request
=
mock
(
HttpServletRequest
.
class
);
final
HttpServletRequest
request
=
mock
(
HttpServletRequest
.
class
);
when
(
request
.
getServletContext
()).
thenReturn
(
mock
(
ServletContext
.
class
));
when
(
request
.
getServletContext
()).
thenReturn
(
mock
(
ServletContext
.
class
));
when
(
request
.
getRequestURI
()).
thenReturn
(
"/add-article-comment.do"
);
when
(
request
.
getRequestURI
()).
thenReturn
(
"/add-article-comment.do"
);
...
...
src/test/java/org/b3log/solo/processor/ErrorProcessorTestCase.java
0 → 100644
View file @
72dd4348
/*
* Copyright (c) 2010-2016, b3log.org & hacpai.com
*
* Licensed 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
.
b3log
.
solo
.
processor
;
import
java.io.PrintWriter
;
import
java.io.StringWriter
;
import
javax.servlet.ServletContext
;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpServletResponse
;
import
org.apache.commons.lang.StringUtils
;
import
org.b3log.latke.Keys
;
import
org.b3log.latke.model.User
;
import
org.b3log.solo.AbstractTestCase
;
import
org.b3log.solo.service.InitService
;
import
org.b3log.solo.service.UserQueryService
;
import
org.json.JSONObject
;
import
static
org
.
mockito
.
Mockito
.*;
import
org.testng.Assert
;
import
org.testng.annotations.Test
;
/**
* {@link ErrorProcessor} test case.
*
* @author <a href="http://88250.b3log.org">Liang Ding</a>
* @version 1.0.0.0, Nov 5, 2016
* @since 1.7.0
*/
@Test
(
suiteName
=
"processor"
)
public
class
ErrorProcessorTestCase
extends
AbstractTestCase
{
/**
* Init.
*
* @throws Exception exception
*/
@Test
public
void
init
()
throws
Exception
{
final
InitService
initService
=
getInitService
();
final
JSONObject
requestJSONObject
=
new
JSONObject
();
requestJSONObject
.
put
(
User
.
USER_EMAIL
,
"test@gmail.com"
);
requestJSONObject
.
put
(
User
.
USER_NAME
,
"Admin"
);
requestJSONObject
.
put
(
User
.
USER_PASSWORD
,
"pass"
);
initService
.
init
(
requestJSONObject
);
final
UserQueryService
userQueryService
=
getUserQueryService
();
Assert
.
assertNotNull
(
userQueryService
.
getUserByEmail
(
"test@gmail.com"
));
}
/**
* showErrorPage.
*
* @throws Exception exception
*/
@Test
(
dependsOnMethods
=
"init"
)
public
void
showErrorPage
()
throws
Exception
{
final
HttpServletRequest
request
=
mock
(
HttpServletRequest
.
class
);
when
(
request
.
getServletContext
()).
thenReturn
(
mock
(
ServletContext
.
class
));
when
(
request
.
getRequestURI
()).
thenReturn
(
"/error/403.html"
);
when
(
request
.
getAttribute
(
Keys
.
TEMAPLTE_DIR_NAME
)).
thenReturn
(
"next"
);
when
(
request
.
getMethod
()).
thenReturn
(
"GET"
);
when
(
request
.
getAttribute
(
Keys
.
HttpRequest
.
START_TIME_MILLIS
)).
thenReturn
(
System
.
currentTimeMillis
());
final
MockDispatcherServlet
dispatcherServlet
=
new
MockDispatcherServlet
();
dispatcherServlet
.
init
();
final
StringWriter
stringWriter
=
new
StringWriter
();
final
PrintWriter
printWriter
=
new
PrintWriter
(
stringWriter
);
final
HttpServletResponse
response
=
mock
(
HttpServletResponse
.
class
);
when
(
response
.
getWriter
()).
thenReturn
(
printWriter
);
dispatcherServlet
.
service
(
request
,
response
);
final
String
content
=
stringWriter
.
toString
();
Assert
.
assertTrue
(
StringUtils
.
contains
(
content
,
"<title>Solo 示例 - 403 Forbidden!</title>"
));
}
}
src/test/java/org/b3log/solo/processor/FeedProcessorTestCase.java
View file @
72dd4348
/*
* Copyright (c) 2010-2016, b3log.org & hacpai.com
*
* Licensed 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
.
b3log
.
solo
.
processor
;
package
org
.
b3log
.
solo
.
processor
;
import
java.io.PrintWriter
;
import
java.io.PrintWriter
;
...
...
src/test/java/org/b3log/solo/processor/InitProcessorTestCase.java
View file @
72dd4348
...
@@ -15,17 +15,16 @@
...
@@ -15,17 +15,16 @@
*/
*/
package
org
.
b3log
.
solo
.
processor
;
package
org
.
b3log
.
solo
.
processor
;
import
java.io.BufferedReader
;
import
java.io.PrintWriter
;
import
java.io.PrintWriter
;
import
java.io.StringReader
;
import
java.io.StringWriter
;
import
java.io.StringWriter
;
import
javax.servlet.ServletContext
;
import
javax.servlet.ServletContext
;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpServletResponse
;
import
javax.servlet.http.HttpServletResponse
;
import
org.apache.commons.lang.StringUtils
;
import
org.apache.commons.lang.StringUtils
;
import
org.b3log.latke.Keys
;
import
org.b3log.latke.Keys
;
import
org.b3log.latke.model.User
;
import
org.b3log.solo.AbstractTestCase
;
import
org.b3log.solo.AbstractTestCase
;
import
org.b3log.solo.service.InitService
;
import
org.b3log.solo.service.UserQueryService
;
import
org.json.JSONObject
;
import
org.json.JSONObject
;
import
static
org
.
mockito
.
Mockito
.*;
import
static
org
.
mockito
.
Mockito
.*;
import
org.testng.Assert
;
import
org.testng.Assert
;
...
@@ -35,42 +34,21 @@ import org.testng.annotations.Test;
...
@@ -35,42 +34,21 @@ import org.testng.annotations.Test;
* {@link IndexProcessor} test case.
* {@link IndexProcessor} test case.
*
*
* @author <a href="http://88250.b3log.org">Liang Ding</a>
* @author <a href="http://88250.b3log.org">Liang Ding</a>
* @version 1.0.0.
0, Nov 2
, 2016
* @version 1.0.0.
1, Nov 5
, 2016
* @since 1.7.0
* @since 1.7.0
*/
*/
@Test
(
suiteName
=
"processor"
)
@Test
(
suiteName
=
"processor"
)
public
class
InitProcessorTestCase
extends
AbstractTestCase
{
public
class
InitProcessorTestCase
extends
AbstractTestCase
{
/**
/**
* Init.
*
show
Init.
*
*
* @throws Exception exception
* @throws Exception exception
*/
*/
@Test
public
void
showInit
()
throws
Exception
{
public
void
init
()
throws
Exception
{
final
InitService
initService
=
getInitService
();
final
JSONObject
requestJSONObject
=
new
JSONObject
();
requestJSONObject
.
put
(
User
.
USER_EMAIL
,
"test@gmail.com"
);
requestJSONObject
.
put
(
User
.
USER_NAME
,
"Admin"
);
requestJSONObject
.
put
(
User
.
USER_PASSWORD
,
"pass"
);
initService
.
init
(
requestJSONObject
);
final
UserQueryService
userQueryService
=
getUserQueryService
();
Assert
.
assertNotNull
(
userQueryService
.
getUserByEmail
(
"test@gmail.com"
));
}
/**
* showIndex.
*
* @throws Exception exception
*/
@Test
(
dependsOnMethods
=
"init"
)
public
void
showIndex
()
throws
Exception
{
final
HttpServletRequest
request
=
mock
(
HttpServletRequest
.
class
);
final
HttpServletRequest
request
=
mock
(
HttpServletRequest
.
class
);
when
(
request
.
getServletContext
()).
thenReturn
(
mock
(
ServletContext
.
class
));
when
(
request
.
getServletContext
()).
thenReturn
(
mock
(
ServletContext
.
class
));
when
(
request
.
getRequestURI
()).
thenReturn
(
""
);
when
(
request
.
getRequestURI
()).
thenReturn
(
"
/init
"
);
when
(
request
.
getMethod
()).
thenReturn
(
"GET"
);
when
(
request
.
getMethod
()).
thenReturn
(
"GET"
);
when
(
request
.
getAttribute
(
Keys
.
TEMAPLTE_DIR_NAME
)).
thenReturn
(
"next"
);
when
(
request
.
getAttribute
(
Keys
.
TEMAPLTE_DIR_NAME
)).
thenReturn
(
"next"
);
when
(
request
.
getAttribute
(
Keys
.
HttpRequest
.
START_TIME_MILLIS
)).
thenReturn
(
System
.
currentTimeMillis
());
when
(
request
.
getAttribute
(
Keys
.
HttpRequest
.
START_TIME_MILLIS
)).
thenReturn
(
System
.
currentTimeMillis
());
...
@@ -87,51 +65,28 @@ public class InitProcessorTestCase extends AbstractTestCase {
...
@@ -87,51 +65,28 @@ public class InitProcessorTestCase extends AbstractTestCase {
dispatcherServlet
.
service
(
request
,
response
);
dispatcherServlet
.
service
(
request
,
response
);
final
String
content
=
stringWriter
.
toString
();
final
String
content
=
stringWriter
.
toString
();
Assert
.
assertTrue
(
StringUtils
.
contains
(
content
,
"<title>
Solo 示例
</title>"
));
Assert
.
assertTrue
(
StringUtils
.
contains
(
content
,
"<title>
欢迎使用 Solo!
</title>"
));
}
}
/**
/**
*
showKillBrowser
.
*
initSolo
.
*
*
* @throws Exception exception
* @throws Exception exception
*/
*/
@Test
(
dependsOnMethods
=
"
i
nit"
)
@Test
(
dependsOnMethods
=
"
showI
nit"
)
public
void
showKillBrowser
()
throws
Exception
{
public
void
initSolo
()
throws
Exception
{
final
HttpServletRequest
request
=
mock
(
HttpServletRequest
.
class
);
final
HttpServletRequest
request
=
mock
(
HttpServletRequest
.
class
);
when
(
request
.
getServletContext
()).
thenReturn
(
mock
(
ServletContext
.
class
));
when
(
request
.
getServletContext
()).
thenReturn
(
mock
(
ServletContext
.
class
));
when
(
request
.
getRequestURI
()).
thenReturn
(
"/kill-browser"
);
when
(
request
.
getRequestURI
()).
thenReturn
(
"/init"
);
when
(
request
.
getMethod
()).
thenReturn
(
"GET"
);
when
(
request
.
getMethod
()).
thenReturn
(
"POST"
);
when
(
request
.
getAttribute
(
Keys
.
TEMAPLTE_DIR_NAME
)).
thenReturn
(
"next"
);
when
(
request
.
getAttribute
(
Keys
.
HttpRequest
.
START_TIME_MILLIS
)).
thenReturn
(
System
.
currentTimeMillis
());
final
MockDispatcherServlet
dispatcherServlet
=
new
MockDispatcherServlet
();
dispatcherServlet
.
init
();
final
StringWriter
stringWriter
=
new
StringWriter
();
final
PrintWriter
printWriter
=
new
PrintWriter
(
stringWriter
);
final
HttpServletResponse
response
=
mock
(
HttpServletResponse
.
class
);
final
JSONObject
requestJSON
=
new
JSONObject
(
);
when
(
response
.
getWriter
()).
thenReturn
(
printWriter
);
requestJSON
.
put
(
"userName"
,
"test"
);
requestJSON
.
put
(
"userEmail"
,
"test@b3log.org"
);
dispatcherServlet
.
service
(
request
,
response
);
requestJSON
.
put
(
"userPassword"
,
"1"
);
final
String
content
=
stringWriter
.
toString
();
final
BufferedReader
reader
=
new
BufferedReader
(
new
StringReader
(
requestJSON
.
toString
()));
Assert
.
assertTrue
(
StringUtils
.
contains
(
content
,
"<title>Solo 示例</title>"
));
when
(
request
.
getReader
()).
thenReturn
(
reader
);
}
/**
* register.
*
* @throws Exception exception
*/
@Test
(
dependsOnMethods
=
"init"
)
public
void
register
()
throws
Exception
{
final
HttpServletRequest
request
=
mock
(
HttpServletRequest
.
class
);
when
(
request
.
getServletContext
()).
thenReturn
(
mock
(
ServletContext
.
class
));
when
(
request
.
getRequestURI
()).
thenReturn
(
"/register"
);
when
(
request
.
getMethod
()).
thenReturn
(
"GET"
);
when
(
request
.
getAttribute
(
Keys
.
TEMAPLTE_DIR_NAME
)).
thenReturn
(
"next"
);
when
(
request
.
getAttribute
(
Keys
.
HttpRequest
.
START_TIME_MILLIS
)).
thenReturn
(
System
.
currentTimeMillis
());
final
MockDispatcherServlet
dispatcherServlet
=
new
MockDispatcherServlet
();
final
MockDispatcherServlet
dispatcherServlet
=
new
MockDispatcherServlet
();
dispatcherServlet
.
init
();
dispatcherServlet
.
init
();
...
@@ -145,6 +100,6 @@ public class InitProcessorTestCase extends AbstractTestCase {
...
@@ -145,6 +100,6 @@ public class InitProcessorTestCase extends AbstractTestCase {
dispatcherServlet
.
service
(
request
,
response
);
dispatcherServlet
.
service
(
request
,
response
);
final
String
content
=
stringWriter
.
toString
();
final
String
content
=
stringWriter
.
toString
();
Assert
.
assertTrue
(
StringUtils
.
contains
(
content
,
"
<title>Solo 示例</title>
"
));
Assert
.
assertTrue
(
StringUtils
.
contains
(
content
,
"
\"sc\":true
"
));
}
}
}
}
src/test/java/org/b3log/solo/processor/LoginProcessorTestCase.java
0 → 100644
View file @
72dd4348
/*
* Copyright (c) 2010-2016, b3log.org & hacpai.com
*
* Licensed 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
.
b3log
.
solo
.
processor
;
import
java.io.BufferedReader
;
import
java.io.PrintWriter
;
import
java.io.StringReader
;
import
java.io.StringWriter
;
import
javax.servlet.ServletContext
;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpServletResponse
;
import
org.apache.commons.lang.StringUtils
;
import
org.b3log.latke.Keys
;
import
org.b3log.latke.model.User
;
import
org.b3log.solo.AbstractTestCase
;
import
org.b3log.solo.service.InitService
;
import
org.b3log.solo.service.UserQueryService
;
import
org.json.JSONObject
;
import
static
org
.
mockito
.
Mockito
.*;
import
org.testng.Assert
;
import
org.testng.annotations.Test
;
/**
* {@link LoginProcessor} test case.
*
* @author <a href="http://88250.b3log.org">Liang Ding</a>
* @version 1.0.0.0, Nov 5, 2016
* @since 1.7.0
*/
@Test
(
suiteName
=
"processor"
)
public
class
LoginProcessorTestCase
extends
AbstractTestCase
{
/**
* Init.
*
* @throws Exception exception
*/
@Test
public
void
init
()
throws
Exception
{
final
InitService
initService
=
getInitService
();
final
JSONObject
requestJSONObject
=
new
JSONObject
();
requestJSONObject
.
put
(
User
.
USER_EMAIL
,
"test@gmail.com"
);
requestJSONObject
.
put
(
User
.
USER_NAME
,
"Admin"
);
requestJSONObject
.
put
(
User
.
USER_PASSWORD
,
"pass"
);
initService
.
init
(
requestJSONObject
);
final
UserQueryService
userQueryService
=
getUserQueryService
();
Assert
.
assertNotNull
(
userQueryService
.
getUserByEmail
(
"test@gmail.com"
));
}
/**
* showLogin.
*
* @throws Exception exception
*/
@Test
(
dependsOnMethods
=
"init"
)
public
void
showLogin
()
throws
Exception
{
final
HttpServletRequest
request
=
mock
(
HttpServletRequest
.
class
);
when
(
request
.
getServletContext
()).
thenReturn
(
mock
(
ServletContext
.
class
));
when
(
request
.
getRequestURI
()).
thenReturn
(
"/login"
);
when
(
request
.
getAttribute
(
Keys
.
TEMAPLTE_DIR_NAME
)).
thenReturn
(
"next"
);
when
(
request
.
getMethod
()).
thenReturn
(
"GET"
);
when
(
request
.
getAttribute
(
Keys
.
HttpRequest
.
START_TIME_MILLIS
)).
thenReturn
(
System
.
currentTimeMillis
());
final
MockDispatcherServlet
dispatcherServlet
=
new
MockDispatcherServlet
();
dispatcherServlet
.
init
();
final
StringWriter
stringWriter
=
new
StringWriter
();
final
PrintWriter
printWriter
=
new
PrintWriter
(
stringWriter
);
final
HttpServletResponse
response
=
mock
(
HttpServletResponse
.
class
);
when
(
response
.
getWriter
()).
thenReturn
(
printWriter
);
dispatcherServlet
.
service
(
request
,
response
);
final
String
content
=
stringWriter
.
toString
();
Assert
.
assertTrue
(
StringUtils
.
contains
(
content
,
"<title>欢迎使用 Solo!</title>"
));
}
/**
* login.
*
* @throws Exception exception
*/
@Test
(
dependsOnMethods
=
"init"
)
public
void
login
()
throws
Exception
{
final
HttpServletRequest
request
=
mock
(
HttpServletRequest
.
class
);
when
(
request
.
getServletContext
()).
thenReturn
(
mock
(
ServletContext
.
class
));
when
(
request
.
getRequestURI
()).
thenReturn
(
"/login"
);
when
(
request
.
getMethod
()).
thenReturn
(
"POST"
);
final
JSONObject
requestJSON
=
new
JSONObject
();
requestJSON
.
put
(
User
.
USER_EMAIL
,
"test@gmail.com"
);
requestJSON
.
put
(
User
.
USER_PASSWORD
,
"pass"
);
final
BufferedReader
reader
=
new
BufferedReader
(
new
StringReader
(
requestJSON
.
toString
()));
when
(
request
.
getReader
()).
thenReturn
(
reader
);
final
MockDispatcherServlet
dispatcherServlet
=
new
MockDispatcherServlet
();
dispatcherServlet
.
init
();
final
StringWriter
stringWriter
=
new
StringWriter
();
final
PrintWriter
printWriter
=
new
PrintWriter
(
stringWriter
);
final
HttpServletResponse
response
=
mock
(
HttpServletResponse
.
class
);
when
(
response
.
getWriter
()).
thenReturn
(
printWriter
);
dispatcherServlet
.
service
(
request
,
response
);
final
String
content
=
stringWriter
.
toString
();
Assert
.
assertTrue
(
StringUtils
.
contains
(
content
,
"isLoggedIn\":true"
));
}
/**
* logout.
*
* @throws Exception exception
*/
@Test
(
dependsOnMethods
=
"init"
)
public
void
logout
()
throws
Exception
{
final
HttpServletRequest
request
=
mock
(
HttpServletRequest
.
class
);
when
(
request
.
getServletContext
()).
thenReturn
(
mock
(
ServletContext
.
class
));
when
(
request
.
getRequestURI
()).
thenReturn
(
"/logout"
);
when
(
request
.
getAttribute
(
Keys
.
TEMAPLTE_DIR_NAME
)).
thenReturn
(
"next"
);
when
(
request
.
getMethod
()).
thenReturn
(
"GET"
);
when
(
request
.
getAttribute
(
Keys
.
HttpRequest
.
START_TIME_MILLIS
)).
thenReturn
(
System
.
currentTimeMillis
());
final
MockDispatcherServlet
dispatcherServlet
=
new
MockDispatcherServlet
();
dispatcherServlet
.
init
();
final
StringWriter
stringWriter
=
new
StringWriter
();
final
PrintWriter
printWriter
=
new
PrintWriter
(
stringWriter
);
final
HttpServletResponse
response
=
mock
(
HttpServletResponse
.
class
);
when
(
response
.
getWriter
()).
thenReturn
(
printWriter
);
dispatcherServlet
.
service
(
request
,
response
);
verify
(
response
).
sendRedirect
(
"/"
);
}
/**
* showForgot.
*
* @throws Exception exception
*/
@Test
(
dependsOnMethods
=
"init"
)
public
void
showForgot
()
throws
Exception
{
final
HttpServletRequest
request
=
mock
(
HttpServletRequest
.
class
);
when
(
request
.
getServletContext
()).
thenReturn
(
mock
(
ServletContext
.
class
));
when
(
request
.
getRequestURI
()).
thenReturn
(
"/forgot"
);
when
(
request
.
getAttribute
(
Keys
.
TEMAPLTE_DIR_NAME
)).
thenReturn
(
"next"
);
when
(
request
.
getMethod
()).
thenReturn
(
"GET"
);
when
(
request
.
getAttribute
(
Keys
.
HttpRequest
.
START_TIME_MILLIS
)).
thenReturn
(
System
.
currentTimeMillis
());
final
MockDispatcherServlet
dispatcherServlet
=
new
MockDispatcherServlet
();
dispatcherServlet
.
init
();
final
StringWriter
stringWriter
=
new
StringWriter
();
final
PrintWriter
printWriter
=
new
PrintWriter
(
stringWriter
);
final
HttpServletResponse
response
=
mock
(
HttpServletResponse
.
class
);
when
(
response
.
getWriter
()).
thenReturn
(
printWriter
);
dispatcherServlet
.
service
(
request
,
response
);
final
String
content
=
stringWriter
.
toString
();
Assert
.
assertTrue
(
StringUtils
.
contains
(
content
,
" <title>忘记密码 Solo!</title>"
));
}
/**
* forgot.
*
* @throws Exception exception
*/
@Test
(
dependsOnMethods
=
"init"
)
public
void
forgot
()
throws
Exception
{
final
HttpServletRequest
request
=
mock
(
HttpServletRequest
.
class
);
when
(
request
.
getServletContext
()).
thenReturn
(
mock
(
ServletContext
.
class
));
when
(
request
.
getRequestURI
()).
thenReturn
(
"/forgot"
);
when
(
request
.
getMethod
()).
thenReturn
(
"POST"
);
final
JSONObject
requestJSON
=
new
JSONObject
();
requestJSON
.
put
(
User
.
USER_EMAIL
,
"test@gmail.com"
);
final
BufferedReader
reader
=
new
BufferedReader
(
new
StringReader
(
requestJSON
.
toString
()));
when
(
request
.
getReader
()).
thenReturn
(
reader
);
final
MockDispatcherServlet
dispatcherServlet
=
new
MockDispatcherServlet
();
dispatcherServlet
.
init
();
final
StringWriter
stringWriter
=
new
StringWriter
();
final
PrintWriter
printWriter
=
new
PrintWriter
(
stringWriter
);
final
HttpServletResponse
response
=
mock
(
HttpServletResponse
.
class
);
when
(
response
.
getWriter
()).
thenReturn
(
printWriter
);
dispatcherServlet
.
service
(
request
,
response
);
final
String
content
=
stringWriter
.
toString
();
Assert
.
assertTrue
(
StringUtils
.
contains
(
content
,
"succeed\":true"
));
}
}
src/test/java/org/b3log/solo/processor/PageProcessorTestCase.java
0 → 100644
View file @
72dd4348
/*
* Copyright (c) 2010-2016, b3log.org & hacpai.com
*
* Licensed 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
.
b3log
.
solo
.
processor
;
import
java.io.PrintWriter
;
import
java.io.StringWriter
;
import
java.util.Map
;
import
javax.servlet.ServletContext
;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpServletResponse
;
import
org.apache.commons.lang.StringUtils
;
import
org.b3log.latke.Keys
;
import
org.b3log.latke.ioc.Lifecycle
;
import
org.b3log.latke.model.User
;
import
org.b3log.latke.service.ServiceException
;
import
org.b3log.latke.servlet.HTTPRequestContext
;
import
org.b3log.solo.AbstractTestCase
;
import
org.b3log.solo.model.Page
;
import
org.b3log.solo.repository.PageRepository
;
import
org.b3log.solo.service.InitService
;
import
org.b3log.solo.service.PageMgmtService
;
import
org.b3log.solo.service.UserQueryService
;
import
org.json.JSONObject
;
import
static
org
.
mockito
.
Mockito
.*;
import
org.testng.Assert
;
import
org.testng.annotations.Test
;
/**
* {@link PageProcessor} test case.
*
* @author <a href="http://88250.b3log.org">Liang Ding</a>
* @version 1.0.0.0, Nov 5, 2016
* @since 1.7.0
*/
@Test
(
suiteName
=
"processor"
)
public
class
PageProcessorTestCase
extends
AbstractTestCase
{
/**
* Init.
*
* @throws Exception exception
*/
@Test
public
void
init
()
throws
Exception
{
final
InitService
initService
=
getInitService
();
final
JSONObject
requestJSONObject
=
new
JSONObject
();
requestJSONObject
.
put
(
User
.
USER_EMAIL
,
"test@gmail.com"
);
requestJSONObject
.
put
(
User
.
USER_NAME
,
"Admin"
);
requestJSONObject
.
put
(
User
.
USER_PASSWORD
,
"pass"
);
initService
.
init
(
requestJSONObject
);
final
UserQueryService
userQueryService
=
getUserQueryService
();
Assert
.
assertNotNull
(
userQueryService
.
getUserByEmail
(
"test@gmail.com"
));
}
/**
* showPage.
*
* @throws Exception exception
*/
@Test
(
dependsOnMethods
=
"init"
)
public
void
showPage
()
throws
Exception
{
final
JSONObject
page
=
addPage
();
final
HttpServletRequest
request
=
mock
(
HttpServletRequest
.
class
);
when
(
request
.
getServletContext
()).
thenReturn
(
mock
(
ServletContext
.
class
));
when
(
request
.
getRequestURI
()).
thenReturn
(
"/pagepermalink"
);
when
(
request
.
getMethod
()).
thenReturn
(
"GET"
);
when
(
request
.
getAttribute
(
Keys
.
TEMAPLTE_DIR_NAME
)).
thenReturn
(
"next"
);
when
(
request
.
getAttribute
(
Keys
.
HttpRequest
.
START_TIME_MILLIS
)).
thenReturn
(
System
.
currentTimeMillis
());
when
(
request
.
getAttribute
(
Page
.
PAGE
)).
thenReturn
(
page
);
final
StringWriter
stringWriter
=
new
StringWriter
();
final
PrintWriter
printWriter
=
new
PrintWriter
(
stringWriter
);
final
HttpServletResponse
response
=
mock
(
HttpServletResponse
.
class
);
when
(
response
.
getWriter
()).
thenReturn
(
printWriter
);
final
HTTPRequestContext
httpRequestContext
=
new
HTTPRequestContext
();
httpRequestContext
.
setRequest
(
request
);
httpRequestContext
.
setResponse
(
response
);
final
PageProcessor
pageProcessor
=
Lifecycle
.
getBeanManager
().
getReference
(
PageProcessor
.
class
);
pageProcessor
.
showPage
(
httpRequestContext
);
final
Map
<
String
,
Object
>
dataModel
=
httpRequestContext
.
getRenderer
().
getRenderDataModel
();
final
JSONObject
handledPage
=
(
JSONObject
)
dataModel
.
get
(
Page
.
PAGE
);
Assert
.
assertTrue
(
StringUtils
.
contains
(
handledPage
.
optString
(
Keys
.
OBJECT_ID
),
page
.
optString
(
Keys
.
OBJECT_ID
)));
}
private
JSONObject
addPage
()
throws
Exception
{
final
PageMgmtService
pageMgmtService
=
getPageMgmtService
();
final
JSONObject
requestJSONObject
=
new
JSONObject
();
final
JSONObject
page
=
new
JSONObject
();
requestJSONObject
.
put
(
Page
.
PAGE
,
page
);
page
.
put
(
Page
.
PAGE_CONTENT
,
"page1 content"
);
page
.
put
(
Page
.
PAGE_PERMALINK
,
"pagepermalink"
);
page
.
put
(
Page
.
PAGE_TITLE
,
"page1 title"
);
page
.
put
(
Page
.
PAGE_COMMENTABLE
,
true
);
page
.
put
(
Page
.
PAGE_TYPE
,
"page"
);
page
.
put
(
Page
.
PAGE_OPEN_TARGET
,
"_self"
);
final
String
pageId
=
pageMgmtService
.
addPage
(
requestJSONObject
);
final
PageRepository
pageRepository
=
getPageRepository
();
return
pageRepository
.
get
(
pageId
);
}
}
src/test/java/org/b3log/solo/processor/SitemapProcessorTestCase.java
0 → 100644
View file @
72dd4348
/*
* Copyright (c) 2010-2016, b3log.org & hacpai.com
*
* Licensed 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
.
b3log
.
solo
.
processor
;
import
java.io.PrintWriter
;
import
java.io.StringWriter
;
import
javax.servlet.ServletContext
;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpServletResponse
;
import
org.apache.commons.lang.StringUtils
;
import
org.b3log.latke.model.User
;
import
org.b3log.solo.AbstractTestCase
;
import
org.b3log.solo.service.InitService
;
import
org.b3log.solo.service.UserQueryService
;
import
org.json.JSONObject
;
import
static
org
.
mockito
.
Mockito
.
mock
;
import
static
org
.
mockito
.
Mockito
.
when
;
import
org.testng.Assert
;
import
org.testng.annotations.Test
;
/**
* {@link SitemapProcessor} test case.
*
* @author <a href="http://88250.b3log.org">Liang Ding</a>
* @version 1.0.0.0, Nov 5, 2016
* @since 1.7.0
*/
@Test
(
suiteName
=
"processor"
)
public
class
SitemapProcessorTestCase
extends
AbstractTestCase
{
/**
* Init.
*
* @throws Exception exception
*/
@Test
public
void
init
()
throws
Exception
{
final
InitService
initService
=
getInitService
();
final
JSONObject
requestJSONObject
=
new
JSONObject
();
requestJSONObject
.
put
(
User
.
USER_EMAIL
,
"test@gmail.com"
);
requestJSONObject
.
put
(
User
.
USER_NAME
,
"Admin"
);
requestJSONObject
.
put
(
User
.
USER_PASSWORD
,
"pass"
);
initService
.
init
(
requestJSONObject
);
final
UserQueryService
userQueryService
=
getUserQueryService
();
Assert
.
assertNotNull
(
userQueryService
.
getUserByEmail
(
"test@gmail.com"
));
}
/**
* blogArticlesAtom.
*
* @throws Exception exception
*/
@Test
(
dependsOnMethods
=
"init"
)
public
void
blogArticlesAtom
()
throws
Exception
{
final
HttpServletRequest
request
=
mock
(
HttpServletRequest
.
class
);
when
(
request
.
getServletContext
()).
thenReturn
(
mock
(
ServletContext
.
class
));
when
(
request
.
getRequestURI
()).
thenReturn
(
"/sitemap.xml"
);
when
(
request
.
getMethod
()).
thenReturn
(
"GET"
);
final
MockDispatcherServlet
dispatcherServlet
=
new
MockDispatcherServlet
();
dispatcherServlet
.
init
();
final
StringWriter
stringWriter
=
new
StringWriter
();
final
PrintWriter
printWriter
=
new
PrintWriter
(
stringWriter
);
final
HttpServletResponse
response
=
mock
(
HttpServletResponse
.
class
);
when
(
response
.
getWriter
()).
thenReturn
(
printWriter
);
dispatcherServlet
.
service
(
request
,
response
);
final
String
content
=
stringWriter
.
toString
();
Assert
.
assertTrue
(
StringUtils
.
startsWith
(
content
,
"<?xml version=\"1.0\""
));
}
}
src/test/java/org/b3log/solo/processor/StatProcessorTestCase.java
0 → 100644
View file @
72dd4348
/*
* Copyright (c) 2010-2016, b3log.org & hacpai.com
*
* Licensed 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
.
b3log
.
solo
.
processor
;
import
java.io.PrintWriter
;
import
java.io.StringWriter
;
import
javax.servlet.ServletContext
;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpServletResponse
;
import
org.b3log.latke.Keys
;
import
org.b3log.latke.model.User
;
import
org.b3log.solo.AbstractTestCase
;
import
org.b3log.solo.service.InitService
;
import
org.b3log.solo.service.StatisticMgmtService
;
import
org.b3log.solo.service.UserQueryService
;
import
org.json.JSONObject
;
import
static
org
.
mockito
.
Mockito
.*;
import
org.testng.Assert
;
import
org.testng.annotations.Test
;
/**
* {@link StatProcessor} test case.
*
* @author <a href="http://88250.b3log.org">Liang Ding</a>
* @version 1.0.0.0, Nov 5, 2016
* @since 1.7.0
*/
@Test
(
suiteName
=
"processor"
)
public
class
StatProcessorTestCase
extends
AbstractTestCase
{
/**
* Init.
*
* @throws Exception exception
*/
@Test
public
void
init
()
throws
Exception
{
final
InitService
initService
=
getInitService
();
final
JSONObject
requestJSONObject
=
new
JSONObject
();
requestJSONObject
.
put
(
User
.
USER_EMAIL
,
"test@gmail.com"
);
requestJSONObject
.
put
(
User
.
USER_NAME
,
"Admin"
);
requestJSONObject
.
put
(
User
.
USER_PASSWORD
,
"pass"
);
initService
.
init
(
requestJSONObject
);
final
UserQueryService
userQueryService
=
getUserQueryService
();
Assert
.
assertNotNull
(
userQueryService
.
getUserByEmail
(
"test@gmail.com"
));
}
/**
* showIndex.
*
* @throws Exception exception
*/
@Test
(
dependsOnMethods
=
"init"
)
public
void
showIndex
()
throws
Exception
{
final
HttpServletRequest
request
=
mock
(
HttpServletRequest
.
class
);
when
(
request
.
getServletContext
()).
thenReturn
(
mock
(
ServletContext
.
class
));
when
(
request
.
getRequestURI
()).
thenReturn
(
"/console/stat/onlineVisitorRefresh"
);
when
(
request
.
getMethod
()).
thenReturn
(
"GET"
);
when
(
request
.
getAttribute
(
Keys
.
TEMAPLTE_DIR_NAME
)).
thenReturn
(
"next"
);
when
(
request
.
getAttribute
(
Keys
.
HttpRequest
.
START_TIME_MILLIS
)).
thenReturn
(
System
.
currentTimeMillis
());
final
MockDispatcherServlet
dispatcherServlet
=
new
MockDispatcherServlet
();
dispatcherServlet
.
init
();
final
StringWriter
stringWriter
=
new
StringWriter
();
final
PrintWriter
printWriter
=
new
PrintWriter
(
stringWriter
);
final
HttpServletResponse
response
=
mock
(
HttpServletResponse
.
class
);
when
(
response
.
getWriter
()).
thenReturn
(
printWriter
);
StatisticMgmtService
.
ONLINE_VISITORS
.
put
(
"127.0.0.1"
,
Long
.
MIN_VALUE
);
dispatcherServlet
.
service
(
request
,
response
);
Assert
.
assertTrue
(
0
==
StatisticMgmtService
.
ONLINE_VISITORS
.
size
());
}
}
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