Skip to content

Commit 635a704

Browse files
committed
utilize tokio::test macro
1 parent ba39d48 commit 635a704

2 files changed

Lines changed: 117 additions & 126 deletions

File tree

Cargo.toml

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,13 @@ keywords = ["concourse", "concourseresource", "githubissues"]
1111
categories = ["api-bindings"]
1212
exclude = [".circleci", ".github", ".gitignore", "Dockerfile"]
1313

14+
[dev-dependencies]
15+
tokio = { version = "1", features = ["macros"] }
16+
1417
[dependencies]
1518
octocrab = "0.49"
1619
concourse-resource = "0.3"
17-
tokio = { version = "1.0", features = ["rt-multi-thread", "macros"] }
20+
tokio = { version = "1.0", features = ["rt-multi-thread"] }
1821
serde = "1.0"
1922
serde_json = "1.0"
2023
log = "0.4"

src/github_issue/tests.rs

Lines changed: 113 additions & 125 deletions
Original file line numberDiff line numberDiff line change
@@ -183,136 +183,124 @@ fn test_issue_new() {
183183
);
184184
}
185185

186-
#[test]
187-
fn test_issue_main_read() {
186+
#[tokio::test]
187+
async fn test_issue_main_read() {
188188
// validate issue returned when read from main
189-
let test = async {
190-
let gh_issue = Issue::new(
191-
None,
192-
"mitodl",
193-
"ol-infrastructure",
194-
None,
195-
None,
196-
None,
197-
None,
198-
None,
199-
Some(100),
200-
None,
201-
None,
202-
None,
203-
None,
204-
);
205-
let issue = gh_issue.main(Action::Read).await;
206-
assert_eq!(
207-
issue.unwrap().state,
208-
octocrab::models::IssueState::Closed,
209-
"hundredth issue from mitodl/ol-infrastructure not read and returned correctly",
210-
);
211-
};
212-
let rt = tokio::runtime::Runtime::new().unwrap();
213-
rt.block_on(test);
189+
let gh_issue = Issue::new(
190+
None,
191+
"mitodl",
192+
"ol-infrastructure",
193+
None,
194+
None,
195+
None,
196+
None,
197+
None,
198+
Some(100),
199+
None,
200+
None,
201+
None,
202+
None,
203+
);
204+
let issue = gh_issue.main(Action::Read).await;
205+
assert_eq!(
206+
issue.unwrap().state,
207+
octocrab::models::IssueState::Closed,
208+
"hundredth issue from mitodl/ol-infrastructure not read and returned correctly",
209+
);
214210
}
215211

216-
#[test]
217-
fn test_issue_main_list() {
212+
#[tokio::test]
213+
async fn test_issue_main_list() {
218214
// validate one issue of multiple listed returned from main
219-
let test = async {
220-
let gh_issue = Issue::new(
221-
None,
222-
"mitodl",
223-
"ol-infrastructure",
224-
None,
225-
None,
226-
None,
227-
Some(vec![String::from("pdpinch")]),
228-
None,
229-
None,
230-
None,
231-
None,
232-
Some("closed"),
233-
Some(3),
234-
);
235-
let issue = gh_issue.main(Action::List).await;
236-
assert_eq!(
237-
issue.unwrap().number,
238-
833,
239-
"single issue #833 from multiple listed from mitodl/ol-infrastructure not returned correctly",
240-
);
241-
};
242-
let rt = tokio::runtime::Runtime::new().unwrap();
243-
rt.block_on(test);
215+
let gh_issue = Issue::new(
216+
None,
217+
"mitodl",
218+
"ol-infrastructure",
219+
None,
220+
None,
221+
None,
222+
Some(vec![String::from("pdpinch")]),
223+
None,
224+
None,
225+
None,
226+
None,
227+
Some("closed"),
228+
Some(3),
229+
);
230+
let issue = gh_issue.main(Action::List).await;
231+
assert_eq!(
232+
issue.unwrap().number,
233+
833,
234+
"single issue #833 from multiple listed from mitodl/ol-infrastructure not returned correctly",
235+
);
244236
}
245237

246-
#[test]
247-
fn test_errors() {
238+
#[tokio::test]
239+
async fn test_errors() {
248240
// validate errors
249-
let test = async {
250-
let gh_issue = Issue::new(
251-
None,
252-
"mitodl",
253-
"ol-infrastructure",
254-
None,
255-
None,
256-
None,
257-
Some(vec![String::from("foo"), String::from("bar")]),
258-
None,
259-
None,
260-
None,
261-
None,
262-
None,
263-
None,
264-
);
265-
let gh_issue_four = Issue::new(
266-
None,
267-
"mitodl",
268-
"ol-infrastructure",
269-
None,
270-
None,
271-
None,
272-
Some(vec![String::from("blarghmatey")]),
273-
None,
274-
None,
275-
None,
276-
None,
277-
None,
278-
None,
279-
);
280-
// validate title required for create error
281-
let issue = gh_issue.main(Action::Create).await;
282-
assert_eq!(
283-
issue,
284-
Err("title unspecified"),
285-
"attempted create without specified title did not error expectedly",
286-
);
287-
// validate issue number required for read
288-
let issue_two = gh_issue.main(Action::Read).await;
289-
assert_eq!(
290-
issue_two,
291-
Err("issue number unspecified"),
292-
"attempted read without specified number did not error expectedly",
293-
);
294-
// validate only one assignee for list
295-
let issue_three = gh_issue.main(Action::List).await;
296-
assert_eq!(
297-
issue_three,
298-
Err("multiple assignees and list action"),
299-
"attempted list with multiple assignees did not error expectedly",
300-
);
301-
// validate only one issue returned for list
302-
let issue_four = gh_issue_four.main(Action::List).await;
303-
assert_eq!(
304-
issue_four,
305-
Err("unexpected number of issues"),
306-
"attempted list with multiple issues returned did not error expectedly",
307-
);
308-
// validate issue number required for update
309-
let issue_five = gh_issue.main(Action::Update).await;
310-
assert_eq!(
311-
issue_five,
312-
Err("issue number unspecified"),
313-
"attempted update without specified number did not error expectedly",
314-
);
315-
};
316-
let rt = tokio::runtime::Runtime::new().unwrap();
317-
rt.block_on(test);
241+
let gh_issue = Issue::new(
242+
None,
243+
"mitodl",
244+
"ol-infrastructure",
245+
None,
246+
None,
247+
None,
248+
Some(vec![String::from("foo"), String::from("bar")]),
249+
None,
250+
None,
251+
None,
252+
None,
253+
None,
254+
None,
255+
);
256+
let gh_issue_four = Issue::new(
257+
None,
258+
"mitodl",
259+
"ol-infrastructure",
260+
None,
261+
None,
262+
None,
263+
Some(vec![String::from("blarghmatey")]),
264+
None,
265+
None,
266+
None,
267+
None,
268+
None,
269+
None,
270+
);
271+
// validate title required for create error
272+
let issue = gh_issue.main(Action::Create).await;
273+
assert_eq!(
274+
issue,
275+
Err("title unspecified"),
276+
"attempted create without specified title did not error expectedly",
277+
);
278+
// validate issue number required for read
279+
let issue_two = gh_issue.main(Action::Read).await;
280+
assert_eq!(
281+
issue_two,
282+
Err("issue number unspecified"),
283+
"attempted read without specified number did not error expectedly",
284+
);
285+
// validate only one assignee for list
286+
let issue_three = gh_issue.main(Action::List).await;
287+
assert_eq!(
288+
issue_three,
289+
Err("multiple assignees and list action"),
290+
"attempted list with multiple assignees did not error expectedly",
291+
);
292+
// validate only one issue returned for list
293+
let issue_four = gh_issue_four.main(Action::List).await;
294+
assert_eq!(
295+
issue_four,
296+
Err("unexpected number of issues"),
297+
"attempted list with multiple issues returned did not error expectedly",
298+
);
299+
// validate issue number required for update
300+
let issue_five = gh_issue.main(Action::Update).await;
301+
assert_eq!(
302+
issue_five,
303+
Err("issue number unspecified"),
304+
"attempted update without specified number did not error expectedly",
305+
);
318306
}

0 commit comments

Comments
 (0)