1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
|
use lapin::message::Delivery;
use std::env;
use std::error::Error;
use tickborg::commentparser;
use tickborg::config;
use tickborg::easylapin;
use tickborg::message::{Pr, Repo, buildjob};
use tickborg::notifyworker::NotificationReceiver;
use tickborg::worker;
#[tokio::main]
async fn main() -> Result<(), Box<dyn Error>> {
tickborg::setup_log();
let arg = env::args().nth(1).expect("usage: build-faker <config>");
let cfg = config::load(arg.as_ref());
let conn = easylapin::from_config(&cfg.builder.unwrap().rabbitmq).await?;
let chan = conn.create_channel().await?;
let repo_msg = Repo {
clone_url: "https://github.com/project-tick/Project-Tick.git".to_owned(),
full_name: "project-tick/Project-Tick".to_owned(),
owner: "project-tick".to_owned(),
name: "Project-Tick".to_owned(),
};
let pr_msg = Pr {
number: 42,
head_sha: "6dd9f0265d52b946dd13daf996f30b64e4edb446".to_owned(),
target_branch: Some("scratch".to_owned()),
};
let logbackrk = "project-tick/Project-Tick.42".to_owned();
let msg = buildjob::BuildJob {
repo: repo_msg,
pr: pr_msg,
subset: Some(commentparser::Subset::Project),
attrs: vec!["success".to_owned()],
logs: Some((Some("logs".to_owned()), Some(logbackrk.to_lowercase()))),
statusreport: Some((None, Some("scratch".to_owned()))),
request_id: "bogus-request-id".to_owned(),
push: None,
};
{
let deliver = Delivery::mock(0, "no-exchange".into(), "".into(), false, vec![]);
let recv = easylapin::ChannelNotificationReceiver::new(chan.clone(), deliver);
for _i in 1..2 {
recv.tell(worker::publish_serde_action(
None,
Some("build-inputs-x86_64-darwin".to_owned()),
&msg,
))
.await;
}
}
Ok(())
}
|