DiscourseImportTest move to different project
This commit is contained in:
parent
a228fa25f3
commit
96ad7aeb24
|
@ -1,137 +0,0 @@
|
||||||
package com.ossez.lang.tutorial.tests;
|
|
||||||
|
|
||||||
import com.google.gson.Gson;
|
|
||||||
import com.ossez.edtestbank.common.dao.Factory;
|
|
||||||
import com.ossez.edtestbank.common.dao.factories.PostFactory;
|
|
||||||
import com.ossez.edtestbank.common.model.entity.BBSOssezForumAttach;
|
|
||||||
import com.ossez.edtestbank.common.model.entity.BBSOssezForumPost;
|
|
||||||
import com.ossez.edtestbank.common.model.request.TopicRequest;
|
|
||||||
import org.apache.commons.io.FileUtils;
|
|
||||||
import org.apache.commons.lang3.StringUtils;
|
|
||||||
import org.apache.commons.lang3.math.NumberUtils;
|
|
||||||
import org.apache.http.HttpHeaders;
|
|
||||||
import org.apache.http.client.methods.CloseableHttpResponse;
|
|
||||||
import org.apache.http.client.methods.HttpPost;
|
|
||||||
import org.apache.http.entity.StringEntity;
|
|
||||||
import org.apache.http.impl.client.CloseableHttpClient;
|
|
||||||
import org.apache.http.impl.client.HttpClients;
|
|
||||||
import org.apache.http.util.EntityUtils;
|
|
||||||
import org.joda.time.DateTime;
|
|
||||||
import org.junit.jupiter.api.AfterAll;
|
|
||||||
import org.junit.jupiter.api.BeforeAll;
|
|
||||||
import org.junit.jupiter.api.Test;
|
|
||||||
import org.junit.jupiter.api.TestInstance;
|
|
||||||
import org.slf4j.Logger;
|
|
||||||
import org.slf4j.LoggerFactory;
|
|
||||||
|
|
||||||
import java.io.File;
|
|
||||||
import java.io.IOException;
|
|
||||||
import java.nio.charset.StandardCharsets;
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.regex.Matcher;
|
|
||||||
import java.util.regex.Pattern;
|
|
||||||
|
|
||||||
import static org.junit.jupiter.api.Assertions.assertNotNull;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Test Logger and function
|
|
||||||
*
|
|
||||||
* @author YuCheng Hu
|
|
||||||
*/
|
|
||||||
@TestInstance(TestInstance.Lifecycle.PER_CLASS)
|
|
||||||
public class PostTest {
|
|
||||||
private static Logger logger = LoggerFactory.getLogger(PostTest.class);
|
|
||||||
|
|
||||||
|
|
||||||
@BeforeAll
|
|
||||||
protected void setUp() throws Exception {
|
|
||||||
Factory.beginTransaction();
|
|
||||||
}
|
|
||||||
|
|
||||||
@AfterAll
|
|
||||||
protected void tearDown() throws Exception {
|
|
||||||
Factory.rollbackTransaction();
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Tests search functionality for the customer object.
|
|
||||||
*/
|
|
||||||
@Test
|
|
||||||
public void testPost() throws IOException, InterruptedException {
|
|
||||||
List<String> idList = FileUtils.readLines(new File("C:\\Users\\yhu\\Pictures\\Pics\\2021-01\\1.txt"));
|
|
||||||
for (String id : idList) {
|
|
||||||
processPost(NumberUtils.toLong(id));
|
|
||||||
Thread.sleep(6000);
|
|
||||||
// break;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// make sure the customer was found
|
|
||||||
// assertNotNull(bbsOssezForumPost);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
public void testDateTime() throws IOException {
|
|
||||||
DateTime dateTime = new DateTime(1256834117 * 1000L);
|
|
||||||
System.out.println(dateTime.toString());
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
private void processPost(Long tid) throws IOException {
|
|
||||||
BBSOssezForumPost bbsOssezForumPost = PostFactory.getBBSOssezForumPostTid(tid);
|
|
||||||
if (bbsOssezForumPost == null)
|
|
||||||
return;
|
|
||||||
|
|
||||||
logger.debug("Questions Content - {}", bbsOssezForumPost.getSubject());
|
|
||||||
|
|
||||||
String postCtx = bbsOssezForumPost.getMessage();
|
|
||||||
// logger.debug(">>>>{}", postCtx);
|
|
||||||
|
|
||||||
|
|
||||||
String pattern = "\\[attach\\]((\\d)*?)\\[\\/attach\\]";
|
|
||||||
|
|
||||||
// Create a Pattern object
|
|
||||||
Pattern r = Pattern.compile(pattern);
|
|
||||||
|
|
||||||
// Now create matcher object.
|
|
||||||
Matcher m = r.matcher(postCtx);
|
|
||||||
|
|
||||||
while (m.find()) {
|
|
||||||
String attachId = StringUtils.substringBetween(m.group(0), "[attach]", "[/attach]");
|
|
||||||
logger.debug("{}", attachId);
|
|
||||||
BBSOssezForumAttach bbsOssezForumAttach = PostFactory.getBBSOssezForumAttach(NumberUtils.toLong(attachId));
|
|
||||||
if (bbsOssezForumAttach!= null) {
|
|
||||||
String fullURL = "![](https://cdn.ossez.com/com-ossez-www/data/attachment/forum/" + bbsOssezForumAttach.getAttachment() + ")";
|
|
||||||
postCtx = StringUtils.replace(postCtx, m.group(0), fullURL);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
logger.debug("{}", postCtx);
|
|
||||||
|
|
||||||
|
|
||||||
CloseableHttpClient client = HttpClients.createDefault();
|
|
||||||
|
|
||||||
HttpPost httpPost = new HttpPost("https://www.ossez.com/posts.json");
|
|
||||||
httpPost.setHeader(HttpHeaders.CONTENT_TYPE, "application/json; charset=UTF-8");
|
|
||||||
httpPost.setHeader("Api-Key", "XXXXXX");
|
|
||||||
httpPost.setHeader("Api-Username", "XXXXXX");
|
|
||||||
|
|
||||||
TopicRequest topicRequest = new TopicRequest();
|
|
||||||
topicRequest.setTitle(bbsOssezForumPost.getSubject());
|
|
||||||
topicRequest.setRaw(postCtx);
|
|
||||||
topicRequest.setCreated_at(new DateTime(bbsOssezForumPost.getDateline() * 1000L).toString() );
|
|
||||||
topicRequest.setCategory(30);
|
|
||||||
|
|
||||||
StringEntity postingString = new StringEntity(new Gson().toJson(topicRequest), StandardCharsets.UTF_8);
|
|
||||||
|
|
||||||
httpPost.setEntity(postingString);
|
|
||||||
|
|
||||||
|
|
||||||
CloseableHttpResponse response = client.execute(httpPost);
|
|
||||||
|
|
||||||
logger.info("{}", EntityUtils.toString(response.getEntity()), StandardCharsets.UTF_8);
|
|
||||||
client.close();
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
Loading…
Reference in New Issue