More tests, collect more data, and refactor some code.

This commit is contained in:
2019-02-07 11:42:19 +01:00
parent 20e41d8f65
commit 7f12e84acc
13 changed files with 1240 additions and 160 deletions
+73 -38
View File
@@ -1,9 +1,10 @@
use chrono::{TimeZone, Utc};
use log::debug;
use log::{debug, trace};
use regex::Regex;
use serde::Deserialize;
use crate::probe::{self, Entry, Probe};
use crate::entry::{self, Date, Entry};
use crate::probe::Probe;
#[derive(Debug, Deserialize)]
#[serde(rename_all = "camelCase")]
@@ -50,12 +51,10 @@ fn from_html(document: &str) -> Result<Entry, ()> {
let json = result.get(1).unwrap().as_str();
/*
println!(
"json: {:#?}",
trace!(
"Hitta: {:#?}",
serde_json::from_str::<serde_json::Value>(&json)
);
*/
if let Ok(data) = serde_json::from_str::<Data>(&json) {
let messages = Vec::new();
@@ -66,11 +65,11 @@ fn from_html(document: &str) -> Result<Entry, ()> {
history.push(phone_data.statistics_text);
for comment in phone_data.comments {
comments.push(probe::Comment {
datetime: Utc.timestamp(
comments.push(entry::Comment {
datetime: Date::DateTime(Utc.timestamp(
(comment.timestamp / 1000) as i64,
(comment.timestamp % 1000) as u32,
),
)),
title: None,
message: comment.comment,
});
@@ -131,91 +130,120 @@ mod tests {
history:
- 42 andra har rapporterat detta nummer
comments:
- datetime: "2019-01-17T17:29:22Z"
- datetime:
DateTime: "2019-01-17T17:29:22Z"
title: ~
message: Varmsälj från Folksam
- datetime: "2018-12-14T13:45:28Z"
- datetime:
DateTime: "2018-12-14T13:45:28Z"
title: ~
message: Folksam
- datetime: "2018-11-28T07:30:18Z"
- datetime:
DateTime: "2018-11-28T07:30:18Z"
title: ~
message: Höglandschskt
- datetime: "2018-11-20T19:18:09Z"
- datetime:
DateTime: "2018-11-20T19:18:09Z"
title: ~
message: "Försäljare "
- datetime: "2018-11-19T17:38:34Z"
- datetime:
DateTime: "2018-11-19T17:38:34Z"
title: ~
message: mögg från Folksam
- datetime: "2018-11-12T16:00:41Z"
- datetime:
DateTime: "2018-11-12T16:00:41Z"
title: ~
message: Folksam försäkringsförsäljare
- datetime: "2018-10-25T10:28:36Z"
- datetime:
DateTime: "2018-10-25T10:28:36Z"
title: ~
message: folksam
- datetime: "2018-10-10T07:30:40Z"
- datetime:
DateTime: "2018-10-10T07:30:40Z"
title: ~
message: Telefonförsäljare
- datetime: "2018-10-04T10:04:55Z"
- datetime:
DateTime: "2018-10-04T10:04:55Z"
title: ~
message: Folksam säljare
- datetime: "2018-10-03T13:55:19Z"
- datetime:
DateTime: "2018-10-03T13:55:19Z"
title: ~
message: Sa inget.
- datetime: "2018-08-24T16:56:46Z"
- datetime:
DateTime: "2018-08-24T16:56:46Z"
title: ~
message: Folksam
- datetime: "2018-08-24T09:42:43Z"
- datetime:
DateTime: "2018-08-24T09:42:43Z"
title: ~
message: Achmati azmut från folksam
- datetime: "2018-08-21T18:29:29Z"
- datetime:
DateTime: "2018-08-21T18:29:29Z"
title: ~
message: Folksam
- datetime: "2018-08-16T18:56:56Z"
- datetime:
DateTime: "2018-08-16T18:56:56Z"
title: ~
message: Säljare från Folksam.
- datetime: "2018-08-16T14:48:59Z"
- datetime:
DateTime: "2018-08-16T14:48:59Z"
title: ~
message: "Folksam "
- datetime: "2018-08-09T16:30:28Z"
- datetime:
DateTime: "2018-08-09T16:30:28Z"
title: ~
message: Folksam
- datetime: "2018-08-02T16:29:32Z"
- datetime:
DateTime: "2018-08-02T16:29:32Z"
title: ~
message: "Folksam "
- datetime: "2018-08-02T15:33:38Z"
- datetime:
DateTime: "2018-08-02T15:33:38Z"
title: ~
message: "Folksam "
- datetime: "2018-07-25T08:28:27Z"
- datetime:
DateTime: "2018-07-25T08:28:27Z"
title: ~
message: Säljare Folksam
- datetime: "2018-07-17T21:20:51Z"
- datetime:
DateTime: "2018-07-17T21:20:51Z"
title: ~
message: "Inga Hansson "
- datetime: "2018-07-16T18:11:46Z"
- datetime:
DateTime: "2018-07-16T18:11:46Z"
title: ~
message: Folksam
- datetime: "2018-07-06T15:45:46Z"
- datetime:
DateTime: "2018-07-06T15:45:46Z"
title: ~
message: "Folksam "
- datetime: "2018-07-05T17:24:07Z"
- datetime:
DateTime: "2018-07-05T17:24:07Z"
title: ~
message: folksam
- datetime: "2018-07-05T11:15:02Z"
- datetime:
DateTime: "2018-07-05T11:15:02Z"
title: ~
message: Vesran
- datetime: "2018-07-04T13:30:49Z"
- datetime:
DateTime: "2018-07-04T13:30:49Z"
title: ~
message: Folksam
- datetime: "2018-06-29T10:52:51Z"
- datetime:
DateTime: "2018-06-29T10:52:51Z"
title: ~
message: folksam
- datetime: "2018-06-28T13:33:01Z"
- datetime:
DateTime: "2018-06-28T13:33:01Z"
title: ~
message: Säljare folksam
- datetime: "2018-06-28T07:42:42Z"
- datetime:
DateTime: "2018-06-28T07:42:42Z"
title: ~
message: Folksam försäkringar
- datetime: "2018-06-26T12:59:33Z"
- datetime:
DateTime: "2018-06-26T12:59:33Z"
title: ~
message: Säljare Folksam"###);
}
@@ -288,4 +316,11 @@ mod tests {
assert_yaml_snapshot_matches!(from_html(&document), @"Err: ~");
}
#[test]
fn test_0546780862() {
let document = include_str!("../../fixtures/hitta/0546780862.html");
assert_yaml_snapshot_matches!(from_html(&document), @"Err: ~");
}
}