Skip to content

Commit 259c5f4

Browse files
authored
Merge pull request #56 from driftluo/ci
bump to 0.5
2 parents c174db9 + 5f79c76 commit 259c5f4

File tree

5 files changed

+89
-35
lines changed

5 files changed

+89
-35
lines changed

.github/workflows/ci.yaml

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
name: Github Action
2+
3+
on:
4+
pull_request: # trigger on pull requests
5+
push:
6+
branches:
7+
- master # trigger on push to master
8+
- ci
9+
10+
jobs:
11+
test:
12+
name: Test
13+
runs-on: ubuntu-latest
14+
strategy:
15+
matrix:
16+
include:
17+
- rust: stable
18+
steps:
19+
- uses: actions/checkout@v2
20+
- name: Test
21+
run: |
22+
wget https://dl.influxdata.com/influxdb/releases/influxdb_1.8.0_amd64.deb
23+
sudo dpkg -i influxdb_1.8.0_amd64.deb
24+
sudo /usr/bin/influxd > $HOME/influx.log 2>&1 &
25+
cargo test
26+
cat $HOME/influx.log

Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "influx_db_client"
3-
version = "0.4.5"
3+
version = "0.5.0"
44
authors = ["piaoliu <441594700@qq.com>"]
55
documentation = "https://docs.rs/influx_db_client/"
66
repository = "https://github.com/driftluo/InfluxDBClient-rs"

README.md

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ This project has been able to run properly, PR is welcome.
1919

2020
```
2121
[dependencies]
22-
influx_db_client = "^0.4.0"
22+
influx_db_client = "^0.5.0"
2323
```
2424

2525
### http
@@ -35,18 +35,18 @@ fn main() {
3535
let client = Client::default().set_authentication("root", "root");
3636

3737
let point = point!("test1")
38-
.add_field("foo", Value::String("bar".to_string()))
39-
.add_field("integer", Value::Integer(11))
40-
.add_field("float", Value::Float(22.3))
41-
.add_field("'boolean'", Value::Boolean(false));
38+
.add_field("foo", "bar")
39+
.add_field("integer", 11)
40+
.add_field("float", 22.3)
41+
.add_field("'boolean'", false);
4242

4343
let point1 = Point::new("test1")
44-
.add_tag("tags", Value::String(String::from("\\\"fda")))
45-
.add_tag("number", Value::Integer(12))
46-
.add_tag("float", Value::Float(12.6))
47-
.add_field("fd", Value::String("'3'".to_string()))
48-
.add_field("quto", Value::String("\\\"fda".to_string()))
49-
.add_field("quto1", Value::String("\"fda".to_string()));
44+
.add_tag("tags", "\\\"fda")
45+
.add_tag("number", 12)
46+
.add_tag("float", 12.6)
47+
.add_field("fd", "'3'")
48+
.add_field("quto", "\\\"fda")
49+
.add_field("quto1", "\"fda");
5050

5151
let points = points!(point1, point);
5252

src/keys.rs

Lines changed: 34 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -42,14 +42,14 @@ impl Point {
4242
}
4343

4444
/// Add a tag and its value
45-
pub fn add_tag<T: Into<String>>(mut self, tag: T, value: Value) -> Self {
46-
self.tags.insert(tag.into(), value);
45+
pub fn add_tag<T: Into<String>, F: Into<Value>>(mut self, tag: T, value: F) -> Self {
46+
self.tags.insert(tag.into(), value.into());
4747
self
4848
}
4949

5050
/// Add a field and its value
51-
pub fn add_field<T: Into<String>>(mut self, field: T, value: Value) -> Self {
52-
self.fields.insert(field.into(), value);
51+
pub fn add_field<T: Into<String>, F: Into<Value>>(mut self, field: T, value: F) -> Self {
52+
self.fields.insert(field.into(), value.into());
5353
self
5454
}
5555

@@ -207,3 +207,33 @@ macro_rules! point {
207207
}
208208
}};
209209
}
210+
211+
impl From<String> for Value {
212+
fn from(v: String) -> Value {
213+
Value::String(v)
214+
}
215+
}
216+
217+
impl From<&str> for Value {
218+
fn from(v: &str) -> Value {
219+
Value::String(v.to_string())
220+
}
221+
}
222+
223+
impl From<i64> for Value {
224+
fn from(v: i64) -> Value {
225+
Value::Integer(v)
226+
}
227+
}
228+
229+
impl From<f64> for Value {
230+
fn from(v: f64) -> Value {
231+
Value::Float(v)
232+
}
233+
}
234+
235+
impl From<bool> for Value {
236+
fn from(v: bool) -> Value {
237+
Value::Boolean(v)
238+
}
239+
}

tests/client_test.rs

Lines changed: 17 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,4 @@
1-
use influx_db_client::{
2-
point, points, reqwest::Url, Client, Point, Points, Precision, UdpClient, Value,
3-
};
1+
use influx_db_client::{point, points, reqwest::Url, Client, Point, Points, Precision, UdpClient};
42
use std::fs::File;
53
use std::io::Read;
64
use std::thread::sleep;
@@ -28,10 +26,10 @@ fn create_and_delete_measurement() {
2826
client.switch_database("test_create_and_delete_measurement");
2927
client.create_database(client.get_db()).await.unwrap();
3028
let point = Point::new("temporary")
31-
.add_field("foo", Value::String("bar".to_string()))
32-
.add_field("integer", Value::Integer(11))
33-
.add_field("float", Value::Float(22.3))
34-
.add_field("'boolean'", Value::Boolean(false));
29+
.add_field("foo", "bar")
30+
.add_field("integer", 11)
31+
.add_field("float", 22.3)
32+
.add_field("'boolean'", false);
3533

3634
client
3735
.write_point(point, Some(Precision::Seconds), None)
@@ -50,16 +48,16 @@ fn use_points() {
5048
client.switch_database("test_use_points");
5149
client.create_database(client.get_db()).await.unwrap();
5250
let point = Point::new("test1")
53-
.add_field("foo", Value::String("bar".to_string()))
54-
.add_field("integer", Value::Integer(11))
55-
.add_field("float", Value::Float(22.3))
56-
.add_field("'boolean'", Value::Boolean(false));
51+
.add_field("foo", "bar")
52+
.add_field("integer", 11)
53+
.add_field("float", 22.3)
54+
.add_field("'boolean'", false);
5755

5856
let point1 = Point::new("test2")
59-
.add_tag("tags", Value::String(String::from("'=213w")))
60-
.add_tag("number", Value::Integer(12))
61-
.add_tag("float", Value::Float(12.6))
62-
.add_field("fd", Value::String("'3'".to_string()));
57+
.add_tag("tags", "'=213w")
58+
.add_tag("number", 12)
59+
.add_tag("float", 12.6)
60+
.add_field("fd", "'3'".to_string());
6361

6462
let points = Points::create_new(vec![point1, point]);
6563

@@ -83,7 +81,7 @@ fn query() {
8381
let mut client = Client::default().set_authentication("root", "root");
8482
client.switch_database(dbname);
8583
client.create_database(client.get_db()).await.unwrap();
86-
let point = Point::new("test3").add_field("foo", Value::String("bar".to_string()));
84+
let point = Point::new("test3").add_field("foo", "bar");
8785
let point1 = point.clone();
8886
let point = point.add_timestamp(1_508_981_970);
8987
let point1 = point1.add_timestamp(1_508_982_026);
@@ -102,7 +100,7 @@ fn use_macro() {
102100
let mut client = Client::default().set_authentication("root", "root");
103101
client.switch_database("use_macro");
104102
client.create_database(client.get_db()).await.unwrap();
105-
let point = point!("test4").add_field("foo", Value::String("bar".to_string()));
103+
let point = point!("test4").add_field("foo", "bar");
106104
let point1 = point.clone();
107105
let point = point.add_timestamp(1_508_981_970);
108106
let point1 = point1.add_timestamp(1_508_982_026);
@@ -123,7 +121,7 @@ fn use_udp() {
123121
udp.add_host("127.0.0.1:8090".parse().unwrap());
124122
let mut client = Client::default().set_authentication("root", "root");
125123

126-
let point = point!("test").add_field("foo", Value::String(String::from("bar")));
124+
let point = point!("test").add_field("foo", "bar");
127125

128126
udp.write_point(point).unwrap();
129127

@@ -253,7 +251,7 @@ bind-address = "127.0.0.1:{rpc_port}"
253251
block_on(async {
254252
client.create_database(client.get_db()).await.unwrap();
255253

256-
let point = point!("foo").add_field("foo", Value::String(String::from("bar")));
254+
let point = point!("foo").add_field("foo", "bar");
257255

258256
client.write_point(point, None, None).await.unwrap();
259257

0 commit comments

Comments
 (0)