• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

leeonky / test-charm-java / 168

31 Mar 2025 02:26PM UTC coverage: 70.152% (-1.2%) from 71.321%
168

push

circleci

leeonky
Refactor test

6313 of 8999 relevant lines covered (70.15%)

0.7 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

88.24
/DAL-extension-basic/src/main/java/com/github/leeonky/dal/extensions/basic/sync/Await.java
1
package com.github.leeonky.dal.extensions.basic.sync;
2

3
import com.github.leeonky.dal.extensions.basic.TimeUtil;
4
import com.github.leeonky.dal.runtime.Data;
5
import com.github.leeonky.dal.runtime.ProxyObject;
6
import com.github.leeonky.util.Sneaky;
7

8
import java.util.Set;
9
import java.util.function.Function;
10

11
import static com.github.leeonky.dal.runtime.DalException.extractException;
12

13
public class Await implements ProxyObject {
14
    private static int defaultWaitingTime = 5000;
1✔
15
    private final Data data;
16
    private final int interval;
17
    private final int waitingTime;
18

19
    public Await(Data data) {
20
        this(data, 100, defaultWaitingTime);
1✔
21
    }
1✔
22

23
    public Await(Data data, int interval, int waitingTime) {
1✔
24
        this.data = data;
1✔
25
        this.interval = interval;
1✔
26
        this.waitingTime = waitingTime;
1✔
27
    }
1✔
28

29
    public static void setDefaultWaitingTime(int ms) {
30
        Await.defaultWaitingTime = ms;
1✔
31
    }
1✔
32

33
    public <T> T await(Function<Data, T> supplier) {
34
        try {
35
            return new Retryer(waitingTime, interval).get(() -> supplier.apply(data));
1✔
36
        } catch (Throwable e) {
1✔
37
            return Sneaky.sneakyThrow(extractException(e).orElse(e));
×
38
        }
39
    }
40

41
    public Await within(String s) {
42
        return new Await(data, interval, TimeUtil.parseTime(s));
1✔
43
    }
44

45
    public Await interval(String s) {
46
        return new Await(data, TimeUtil.parseTime(s), waitingTime);
1✔
47
    }
48

49
    @Override
50
    public Object getValue(Object property) {
51
        return Sneaky.get(() -> await(data -> data.getValue(property).instance()));
1✔
52
    }
53

54
    @Override
55
    public Set<?> getPropertyNames() {
56
        return data.resolved().fieldNames();
×
57
    }
58
}
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc