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
4f5caca8
Commit
4f5caca8
authored
Nov 02, 2016
by
D
Committed by
GitHub
Nov 02, 2016
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #12190 from sky54521/1.7.0-dev
#12188
parents
39ebfc7e
5f8b0b8d
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
225 additions
and
4 deletions
+225
-4
pom.xml
pom.xml
+7
-2
src/test/java/org/b3log/solo/AbstractTestCase.java
src/test/java/org/b3log/solo/AbstractTestCase.java
+25
-1
src/test/java/org/b3log/solo/processor/MetaWeblogAPITestCase.java
.../java/org/b3log/solo/processor/MetaWeblogAPITestCase.java
+192
-0
src/test/java/org/b3log/solo/service/LinkQueryServiceTestCase.java
...java/org/b3log/solo/service/LinkQueryServiceTestCase.java
+1
-1
No files found.
pom.xml
View file @
4f5caca8
...
@@ -230,6 +230,11 @@
...
@@ -230,6 +230,11 @@
<scope>
test
</scope>
<scope>
test
</scope>
</dependency>
</dependency>
<dependency>
<groupId>
org.apache.xmlrpc
</groupId>
<artifactId>
xmlrpc-client
</artifactId>
<version>
3.1.3
</version>
</dependency>
</dependencies>
</dependencies>
<build>
<build>
...
@@ -266,8 +271,8 @@
...
@@ -266,8 +271,8 @@
<artifactId>
maven-compiler-plugin
</artifactId>
<artifactId>
maven-compiler-plugin
</artifactId>
<version>
${maven-compiler-plugin.version}
</version>
<version>
${maven-compiler-plugin.version}
</version>
<configuration>
<configuration>
<source>
1.
6
</source>
<source>
1.
7
</source>
<target>
1.
6
</target>
<target>
1.
7
</target>
<encoding>
UTF-8
</encoding>
<encoding>
UTF-8
</encoding>
</configuration>
</configuration>
</plugin>
</plugin>
...
...
src/test/java/org/b3log/solo/AbstractTestCase.java
View file @
4f5caca8
...
@@ -18,12 +18,14 @@ package org.b3log.solo;
...
@@ -18,12 +18,14 @@ package org.b3log.solo;
import
java.sql.Connection
;
import
java.sql.Connection
;
import
java.util.Collection
;
import
java.util.Collection
;
import
java.util.Locale
;
import
java.util.Locale
;
import
org.b3log.latke.Latkes
;
import
org.b3log.latke.Latkes
;
import
org.b3log.latke.ioc.LatkeBeanManager
;
import
org.b3log.latke.ioc.LatkeBeanManager
;
import
org.b3log.latke.ioc.Lifecycle
;
import
org.b3log.latke.ioc.Lifecycle
;
import
org.b3log.latke.ioc.config.Discoverer
;
import
org.b3log.latke.ioc.config.Discoverer
;
import
org.b3log.latke.repository.jdbc.util.Connections
;
import
org.b3log.latke.repository.jdbc.util.Connections
;
import
org.b3log.latke.repository.jdbc.util.JdbcRepositories
;
import
org.b3log.latke.repository.jdbc.util.JdbcRepositories
;
import
org.b3log.solo.api.metaweblog.MetaWeblogAPI
;
import
org.b3log.solo.repository.ArchiveDateArticleRepository
;
import
org.b3log.solo.repository.ArchiveDateArticleRepository
;
import
org.b3log.solo.repository.ArchiveDateRepository
;
import
org.b3log.solo.repository.ArchiveDateRepository
;
import
org.b3log.solo.repository.ArticleRepository
;
import
org.b3log.solo.repository.ArticleRepository
;
...
@@ -48,7 +50,24 @@ import org.b3log.solo.repository.impl.StatisticRepositoryImpl;
...
@@ -48,7 +50,24 @@ import org.b3log.solo.repository.impl.StatisticRepositoryImpl;
import
org.b3log.solo.repository.impl.TagArticleRepositoryImpl
;
import
org.b3log.solo.repository.impl.TagArticleRepositoryImpl
;
import
org.b3log.solo.repository.impl.TagRepositoryImpl
;
import
org.b3log.solo.repository.impl.TagRepositoryImpl
;
import
org.b3log.solo.repository.impl.UserRepositoryImpl
;
import
org.b3log.solo.repository.impl.UserRepositoryImpl
;
import
org.b3log.solo.service.*
;
import
org.b3log.solo.service.ArchiveDateQueryService
;
import
org.b3log.solo.service.ArticleMgmtService
;
import
org.b3log.solo.service.ArticleQueryService
;
import
org.b3log.solo.service.CommentMgmtService
;
import
org.b3log.solo.service.CommentQueryService
;
import
org.b3log.solo.service.InitService
;
import
org.b3log.solo.service.LinkMgmtService
;
import
org.b3log.solo.service.LinkQueryService
;
import
org.b3log.solo.service.OptionMgmtService
;
import
org.b3log.solo.service.OptionQueryService
;
import
org.b3log.solo.service.PageMgmtService
;
import
org.b3log.solo.service.PageQueryService
;
import
org.b3log.solo.service.PreferenceMgmtService
;
import
org.b3log.solo.service.PreferenceQueryService
;
import
org.b3log.solo.service.TagMgmtService
;
import
org.b3log.solo.service.TagQueryService
;
import
org.b3log.solo.service.UserMgmtService
;
import
org.b3log.solo.service.UserQueryService
;
import
org.testng.annotations.BeforeClass
;
import
org.testng.annotations.BeforeClass
;
/**
/**
...
@@ -361,4 +380,9 @@ public abstract class AbstractTestCase {
...
@@ -361,4 +380,9 @@ public abstract class AbstractTestCase {
public
OptionQueryService
getOptionQueryService
()
{
public
OptionQueryService
getOptionQueryService
()
{
return
beanManager
.
getReference
(
OptionQueryService
.
class
);
return
beanManager
.
getReference
(
OptionQueryService
.
class
);
}
}
public
MetaWeblogAPI
getMetaWeblogAPI
()
{
return
beanManager
.
getReference
(
MetaWeblogAPI
.
class
);
}
}
}
src/test/java/org/b3log/solo/processor/MetaWeblogAPITestCase.java
0 → 100644
View file @
4f5caca8
package
org
.
b3log
.
solo
.
processor
;
import
static
org
.
mockito
.
Mockito
.
mock
;
import
static
org
.
mockito
.
Mockito
.
when
;
import
java.io.ByteArrayInputStream
;
import
java.io.IOException
;
import
java.io.PrintWriter
;
import
java.io.StringWriter
;
import
java.util.Date
;
import
javax.servlet.ReadListener
;
import
javax.servlet.ServletContext
;
import
javax.servlet.ServletInputStream
;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpServletResponse
;
import
org.apache.commons.lang.time.DateFormatUtils
;
import
org.apache.commons.lang.time.DateUtils
;
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
org.testng.Assert
;
import
org.testng.annotations.Test
;
/**
* {@link org.b3log.solo.api.metaweblog.MetaWeblogAPI} test case.
*
* @author yugt
*/
@Test
(
suiteName
=
"api"
)
public
class
MetaWeblogAPITestCase
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"
));
}
/**
* 手动构造rpc请求
*
* @throws Exception exception
*/
@Test
(
dependsOnMethods
=
"init"
)
public
void
metaWeblog
()
throws
Exception
{
final
HttpServletRequest
request
=
mock
(
HttpServletRequest
.
class
);
when
(
request
.
getServletContext
()).
thenReturn
(
mock
(
ServletContext
.
class
));
when
(
request
.
getRequestURI
()).
thenReturn
(
"/apis/metaweblog"
);
when
(
request
.
getMethod
()).
thenReturn
(
"POST"
);
// Date date = (Date) DateFormatUtils.ISO_DATETIME_FORMAT.parseObject("2004-05-03T17:30:08");
Date
date
=
DateUtils
.
parseDate
(
"20040503T17:30:08"
,
new
String
[]{
"yyyyMMdd'T'HH:mm:ss"
,
"yyyyMMdd'T'HH:mm:ss'Z'"
});
final
class
MockServletInputStream
extends
ServletInputStream
{
private
ByteArrayInputStream
stream
;
public
MockServletInputStream
(
byte
[]
data
)
{
stream
=
new
ByteArrayInputStream
(
data
);
}
public
int
read
()
throws
IOException
{
return
stream
.
read
();
}
@Override
public
boolean
isFinished
()
{
return
false
;
}
@Override
public
boolean
isReady
()
{
return
false
;
}
@Override
public
void
setReadListener
(
ReadListener
readListener
)
{
}
}
StringBuilder
sb
=
new
StringBuilder
();
sb
.
append
(
"<?xml version=\"1.0\" encoding=\"ISO-8859-1\"?>"
)
.
append
(
"<methodCall>"
)
.
append
(
"<methodName>metaWeblog.newPost</methodName>"
)
.
append
(
"<params>"
)
.
append
(
"<param>"
)
.
append
(
"<value><int>11</int></value>"
)
.
append
(
"</param>"
)
.
append
(
"<param>"
)
.
append
(
"<value><string>test@gmail.com</string></value>"
)
.
append
(
"</param>"
)
.
append
(
"<param>"
)
.
append
(
"<value><string>pass</string></value>"
)
.
append
(
"</param>"
)
.
append
(
"<param>"
)
.
append
(
"<value>"
)
.
append
(
"<struct>"
)
.
append
(
"<member>"
)
.
append
(
"<name>dateCreated</name>"
)
.
append
(
"<value><dateTime.iso8601>20040503T17:30:08</dateTime.iso8601></value>"
)
.
append
(
"</member>"
)
.
append
(
"<member>"
)
.
append
(
"<name>title</name>"
)
.
append
(
"<value><string>title</string></value>"
)
.
append
(
"</member>"
)
.
append
(
"<member>"
)
.
append
(
"<name>description</name>"
)
.
append
(
"<value><string>description</string></value>"
)
.
append
(
"</member>"
)
.
append
(
"</struct>"
)
.
append
(
"</value>"
)
.
append
(
"</param>"
)
.
append
(
"<param>"
)
.
append
(
"<value><boolean>1</boolean></value>"
)
.
append
(
"</param>"
)
.
append
(
"</params>"
)
.
append
(
"</methodCall>"
);
when
(
request
.
getInputStream
()).
thenReturn
(
new
MockServletInputStream
(
sb
.
toString
().
getBytes
()));
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
();
System
.
out
.
println
(
"xxxxxcontent:"
+
content
);
// Assert.assertTrue(StringUtils.startsWith(content, "{\"staticServePath\":\"http://localhost:8080\""));
}
/**
* 使用XmlRpcClient发送rpc请求
* @throws Exception exception
*/
// @Test(dependsOnMethods = "init")
// public void metaWeblog2() throws Exception {
// final MetaWeblogAPI metaWeblogAPI = getMetaWeblogAPI();
// metaWeblogAPI.metaWeblog(null,null,null);
//
// XmlRpcClientConfigImpl config = new XmlRpcClientConfigImpl();
// config.setServerURL(new URL("http://localhost:8080/solo/apis/metaweblog"));
// XmlRpcClient client = new XmlRpcClient();
// client.setConfig(config);
// Vector<Object> params= new Vector<Object>();
// params.add(1, 12);
// params.add(2, "gangtaoyu@gmail.com");
// params.add(3, "sky");
// params.add(4, new Struct());
// params.add(5, "publish");
// Integer result=(Integer)client.execute("metaWeblog.newPost",params);
//
// System.out.println(result);
//
//
// }
class
Struct
{
String
title
=
"title"
;
String
link
=
"link"
;
String
description
=
"description"
;
String
author
=
"author"
;
String
[]
category
={
"category1"
,
"category2"
};
String
comments
=
"comments"
;
String
enclosure
=
"enclosure"
;
String
guid
=
"guid"
;
String
pubDate
=
"pubDate"
;
String
source
=
"source"
;
}
}
src/test/java/org/b3log/solo/service/LinkQueryServiceTestCase.java
View file @
4f5caca8
...
@@ -87,6 +87,6 @@ public class LinkQueryServiceTestCase extends AbstractTestCase {
...
@@ -87,6 +87,6 @@ public class LinkQueryServiceTestCase extends AbstractTestCase {
final
JSONObject
result
=
linkQueryService
.
getLinks
(
paginationRequest
);
final
JSONObject
result
=
linkQueryService
.
getLinks
(
paginationRequest
);
Assert
.
assertNotNull
(
result
);
Assert
.
assertNotNull
(
result
);
Assert
.
assertEquals
(
result
.
getJSONArray
(
Link
.
LINKS
).
length
(),
1
);
Assert
.
assertEquals
(
result
.
getJSONArray
(
Link
.
LINKS
).
length
(),
2
);
}
}
}
}
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