summaryrefslogtreecommitdiff
path: root/ofborg/tickborg/src/bin/build-faker.rs
blob: 086e96493d0300b4602160384341d759e485a455 (plain)
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(())
}