Committed by
Ray Milkey
Remove dependency on PointToPointIntentCompiler
Create an installable intent, not relying on an IntentCompiler. This change enables IntentCompilers to be moved to a dedicated package. Reference: ONOS-1066 Change-Id: Ie5bca33720232afaa4d6642d4f9fda933f6d00e3
Showing
2 changed files
with
123 additions
and
128 deletions
... | @@ -15,31 +15,38 @@ | ... | @@ -15,31 +15,38 @@ |
15 | */ | 15 | */ |
16 | package org.onosproject.net.intent.impl; | 16 | package org.onosproject.net.intent.impl; |
17 | 17 | ||
18 | +import org.junit.Before; | ||
18 | import org.junit.Test; | 19 | import org.junit.Test; |
20 | +import org.onosproject.net.ConnectPoint; | ||
21 | +import org.onosproject.net.DefaultLink; | ||
22 | +import org.onosproject.net.DefaultPath; | ||
23 | +import org.onosproject.net.Link; | ||
19 | import org.onosproject.net.flow.FlowRuleOperation; | 24 | import org.onosproject.net.flow.FlowRuleOperation; |
20 | -import org.onosproject.net.flow.TrafficSelector; | ||
21 | -import org.onosproject.net.flow.TrafficTreatment; | ||
22 | import org.onosproject.net.intent.AbstractIntentTest; | 25 | import org.onosproject.net.intent.AbstractIntentTest; |
23 | import org.onosproject.net.intent.Constraint; | 26 | import org.onosproject.net.intent.Constraint; |
24 | -import org.onosproject.net.intent.Intent; | ||
25 | import org.onosproject.net.intent.IntentTestsMocks; | 27 | import org.onosproject.net.intent.IntentTestsMocks; |
26 | import org.onosproject.net.intent.PathIntent; | 28 | import org.onosproject.net.intent.PathIntent; |
27 | -import org.onosproject.net.intent.PointToPointIntent; | ||
28 | import org.onosproject.net.intent.constraint.BandwidthConstraint; | 29 | import org.onosproject.net.intent.constraint.BandwidthConstraint; |
29 | import org.onosproject.net.intent.constraint.LambdaConstraint; | 30 | import org.onosproject.net.intent.constraint.LambdaConstraint; |
30 | import org.onosproject.net.resource.Bandwidth; | 31 | import org.onosproject.net.resource.Bandwidth; |
31 | import org.onosproject.net.resource.Lambda; | 32 | import org.onosproject.net.resource.Lambda; |
32 | -import org.onosproject.net.resource.LinkResourceService; | ||
33 | 33 | ||
34 | +import java.util.Arrays; | ||
34 | import java.util.Collection; | 35 | import java.util.Collection; |
35 | -import java.util.LinkedList; | ||
36 | import java.util.List; | 36 | import java.util.List; |
37 | 37 | ||
38 | import static org.hamcrest.MatcherAssert.assertThat; | 38 | import static org.hamcrest.MatcherAssert.assertThat; |
39 | -import static org.hamcrest.Matchers.*; | 39 | +import static org.hamcrest.Matchers.hasSize; |
40 | +import static org.hamcrest.Matchers.instanceOf; | ||
41 | +import static org.hamcrest.Matchers.notNullValue; | ||
40 | import static org.junit.Assert.fail; | 42 | import static org.junit.Assert.fail; |
43 | +import static org.onosproject.net.DefaultEdgeLink.createEdgeLink; | ||
44 | +import static org.onosproject.net.Link.Type.DIRECT; | ||
41 | import static org.onosproject.net.NetTestTools.APP_ID; | 45 | import static org.onosproject.net.NetTestTools.APP_ID; |
46 | +import static org.onosproject.net.NetTestTools.PID; | ||
42 | import static org.onosproject.net.NetTestTools.connectPoint; | 47 | import static org.onosproject.net.NetTestTools.connectPoint; |
48 | +import static org.onosproject.net.intent.IntentTestsMocks.MockResourceService.makeBandwidthResourceService; | ||
49 | +import static org.onosproject.net.intent.IntentTestsMocks.MockResourceService.makeLambdaResourceService; | ||
43 | 50 | ||
44 | /** | 51 | /** |
45 | * Unit tests for calculating paths for intents with constraints. | 52 | * Unit tests for calculating paths for intents with constraints. |
... | @@ -47,63 +54,26 @@ import static org.onosproject.net.NetTestTools.connectPoint; | ... | @@ -47,63 +54,26 @@ import static org.onosproject.net.NetTestTools.connectPoint; |
47 | 54 | ||
48 | public class PathConstraintCalculationTest extends AbstractIntentTest { | 55 | public class PathConstraintCalculationTest extends AbstractIntentTest { |
49 | 56 | ||
50 | - /** | 57 | + private final IntentTestsMocks.MockSelector selector = new IntentTestsMocks.MockSelector(); |
51 | - * Creates a point to point intent compiler for a three switch linear | 58 | + private final IntentTestsMocks.MockTreatment treatment = new IntentTestsMocks.MockTreatment(); |
52 | - * topology. | 59 | + private final ConnectPoint d1p1 = connectPoint("s1", 0); |
53 | - * | 60 | + private final ConnectPoint d2p0 = connectPoint("s2", 0); |
54 | - * @param resourceService service to use for resource allocation requests | 61 | + private final ConnectPoint d2p1 = connectPoint("s2", 1); |
55 | - * @return point to point compiler | 62 | + private final ConnectPoint d3p1 = connectPoint("s3", 1); |
56 | - */ | 63 | + private final ConnectPoint d3p0 = connectPoint("s3", 10); |
57 | - private PointToPointIntentCompiler makeCompiler(LinkResourceService resourceService) { | 64 | + private final ConnectPoint d1p0 = connectPoint("s1", 10); |
58 | - final String[] hops = {"s1", "s2", "s3"}; | 65 | + |
59 | - final PointToPointIntentCompiler compiler = new PointToPointIntentCompiler(); | 66 | + private PathIntentInstaller sut; |
60 | - compiler.resourceService = resourceService; | 67 | + |
61 | - compiler.pathService = new IntentTestsMocks.MockPathService(hops); | 68 | + @Before |
62 | - return compiler; | 69 | + public void setUpIntentInstaller() { |
63 | - } | 70 | + sut = new PathIntentInstaller(); |
64 | - | 71 | + sut.appId = APP_ID; |
65 | - /** | ||
66 | - * Creates an intent with a given constraint and compiles it. The compiler | ||
67 | - * will throw PathNotFoundException if the allocations cannot be satisfied. | ||
68 | - * | ||
69 | - * @param constraint constraint to apply to the created intent | ||
70 | - * @param resourceService service to use for resource allocation requests | ||
71 | - * @return List of compiled intents | ||
72 | - */ | ||
73 | - private List<Intent> compileIntent(Constraint constraint, | ||
74 | - LinkResourceService resourceService) { | ||
75 | - final List<Constraint> constraints = new LinkedList<>(); | ||
76 | - constraints.add(constraint); | ||
77 | - final TrafficSelector selector = new IntentTestsMocks.MockSelector(); | ||
78 | - final TrafficTreatment treatment = new IntentTestsMocks.MockTreatment(); | ||
79 | - | ||
80 | - final PointToPointIntent intent = | ||
81 | - new PointToPointIntent(APP_ID, | ||
82 | - selector, | ||
83 | - treatment, | ||
84 | - connectPoint("s1", 1), | ||
85 | - connectPoint("s3", 1), | ||
86 | - constraints); | ||
87 | - final PointToPointIntentCompiler compiler = makeCompiler(resourceService); | ||
88 | - | ||
89 | - return compiler.compile(intent, null, null); | ||
90 | } | 72 | } |
91 | 73 | ||
92 | - /** | 74 | + private PathIntent createPathIntent(List<Link> links, List<Constraint> constratins) { |
93 | - * Installs a compiled path intent and returns the flow rules it generates. | 75 | + int hops = links.size() - 1; |
94 | - * | 76 | + return new PathIntent(APP_ID, selector, treatment, new DefaultPath(PID, links, hops), constratins); |
95 | - * @param compiledIntents list of compiled intents | ||
96 | - * @param resourceService service to use for resource allocation requests | ||
97 | - * @return fow rule entries | ||
98 | - */ | ||
99 | - private List<Collection<FlowRuleOperation>> installIntents(List<Intent> compiledIntents, | ||
100 | - LinkResourceService resourceService) { | ||
101 | - final PathIntent path = (PathIntent) compiledIntents.get(0); | ||
102 | - | ||
103 | - final PathIntentInstaller installer = new PathIntentInstaller(); | ||
104 | - installer.resourceService = resourceService; | ||
105 | - installer.appId = APP_ID; | ||
106 | - return installer.install(path); | ||
107 | } | 77 | } |
108 | 78 | ||
109 | /** | 79 | /** |
... | @@ -113,16 +83,19 @@ public class PathConstraintCalculationTest extends AbstractIntentTest { | ... | @@ -113,16 +83,19 @@ public class PathConstraintCalculationTest extends AbstractIntentTest { |
113 | @Test | 83 | @Test |
114 | public void testInstallBandwidthConstrainedIntentSuccess() { | 84 | public void testInstallBandwidthConstrainedIntentSuccess() { |
115 | 85 | ||
116 | - final IntentTestsMocks.MockResourceService resourceService = | ||
117 | - IntentTestsMocks.MockResourceService.makeBandwidthResourceService(1000.0); | ||
118 | final Constraint constraint = new BandwidthConstraint(Bandwidth.bps(100.0)); | 86 | final Constraint constraint = new BandwidthConstraint(Bandwidth.bps(100.0)); |
119 | 87 | ||
120 | - final List<Intent> compiledIntents = compileIntent(constraint, resourceService); | 88 | + List<Link> links = Arrays.asList( |
121 | - assertThat(compiledIntents, notNullValue()); | 89 | + createEdgeLink(d1p0, true), |
122 | - assertThat(compiledIntents, hasSize(1)); | 90 | + new DefaultLink(PID, d1p1, d2p0, DIRECT), |
91 | + new DefaultLink(PID, d2p1, d3p1, DIRECT), | ||
92 | + createEdgeLink(d3p0, false) | ||
93 | + ); | ||
94 | + PathIntent installable = createPathIntent(links, Arrays.asList(constraint)); | ||
123 | 95 | ||
124 | - final List<Collection<FlowRuleOperation>> flowOperations = | 96 | + sut.resourceService = makeBandwidthResourceService(1000.0); |
125 | - installIntents(compiledIntents, resourceService); | 97 | + |
98 | + final List<Collection<FlowRuleOperation>> flowOperations = sut.install(installable); | ||
126 | 99 | ||
127 | assertThat(flowOperations, notNullValue()); | 100 | assertThat(flowOperations, notNullValue()); |
128 | assertThat(flowOperations, hasSize(1)); | 101 | assertThat(flowOperations, hasSize(1)); |
... | @@ -135,19 +108,23 @@ public class PathConstraintCalculationTest extends AbstractIntentTest { | ... | @@ -135,19 +108,23 @@ public class PathConstraintCalculationTest extends AbstractIntentTest { |
135 | @Test | 108 | @Test |
136 | public void testInstallBandwidthConstrainedIntentFailure() { | 109 | public void testInstallBandwidthConstrainedIntentFailure() { |
137 | 110 | ||
138 | - final IntentTestsMocks.MockResourceService resourceService = | ||
139 | - IntentTestsMocks.MockResourceService.makeBandwidthResourceService(1000.0); | ||
140 | final Constraint constraint = new BandwidthConstraint(Bandwidth.bps(100.0)); | 111 | final Constraint constraint = new BandwidthConstraint(Bandwidth.bps(100.0)); |
141 | 112 | ||
142 | - final List<Intent> compiledIntents = compileIntent(constraint, resourceService); | 113 | + List<Link> links = Arrays.asList( |
143 | - assertThat(compiledIntents, notNullValue()); | 114 | + createEdgeLink(d1p0, true), |
144 | - assertThat(compiledIntents, hasSize(1)); | 115 | + new DefaultLink(PID, d1p1, d2p0, DIRECT), |
116 | + new DefaultLink(PID, d2p1, d3p1, DIRECT), | ||
117 | + createEdgeLink(d3p0, false) | ||
118 | + ); | ||
119 | + PathIntent installable = createPathIntent(links, Arrays.asList(constraint)); | ||
145 | 120 | ||
146 | // Make it look like the available bandwidth was consumed | 121 | // Make it look like the available bandwidth was consumed |
122 | + final IntentTestsMocks.MockResourceService resourceService = makeBandwidthResourceService(1000.0); | ||
147 | resourceService.setAvailableBandwidth(1.0); | 123 | resourceService.setAvailableBandwidth(1.0); |
124 | + sut.resourceService = resourceService; | ||
148 | 125 | ||
149 | try { | 126 | try { |
150 | - installIntents(compiledIntents, resourceService); | 127 | + sut.install(installable); |
151 | fail("Bandwidth request with no available bandwidth did not fail."); | 128 | fail("Bandwidth request with no available bandwidth did not fail."); |
152 | } catch (IntentTestsMocks.MockedAllocationFailure failure) { | 129 | } catch (IntentTestsMocks.MockedAllocationFailure failure) { |
153 | assertThat(failure, | 130 | assertThat(failure, |
... | @@ -162,16 +139,19 @@ public class PathConstraintCalculationTest extends AbstractIntentTest { | ... | @@ -162,16 +139,19 @@ public class PathConstraintCalculationTest extends AbstractIntentTest { |
162 | @Test | 139 | @Test |
163 | public void testInstallLambdaConstrainedIntentSuccess() { | 140 | public void testInstallLambdaConstrainedIntentSuccess() { |
164 | 141 | ||
165 | - final IntentTestsMocks.MockResourceService resourceService = | ||
166 | - IntentTestsMocks.MockResourceService.makeLambdaResourceService(1); | ||
167 | final Constraint constraint = new LambdaConstraint(Lambda.valueOf(1)); | 142 | final Constraint constraint = new LambdaConstraint(Lambda.valueOf(1)); |
168 | 143 | ||
169 | - final List<Intent> compiledIntents = compileIntent(constraint, resourceService); | 144 | + List<Link> links = Arrays.asList( |
170 | - assertThat(compiledIntents, notNullValue()); | 145 | + createEdgeLink(d1p0, true), |
171 | - assertThat(compiledIntents, hasSize(1)); | 146 | + new DefaultLink(PID, d1p1, d2p0, DIRECT), |
147 | + new DefaultLink(PID, d2p1, d3p1, DIRECT), | ||
148 | + createEdgeLink(d3p0, false) | ||
149 | + ); | ||
150 | + PathIntent installable = createPathIntent(links, Arrays.asList(constraint)); | ||
151 | + | ||
152 | + sut.resourceService = makeLambdaResourceService(1); | ||
172 | 153 | ||
173 | - final List<Collection<FlowRuleOperation>> flowOperations = | 154 | + final List<Collection<FlowRuleOperation>> flowOperations = sut.install(installable); |
174 | - installIntents(compiledIntents, resourceService); | ||
175 | 155 | ||
176 | assertThat(flowOperations, notNullValue()); | 156 | assertThat(flowOperations, notNullValue()); |
177 | assertThat(flowOperations, hasSize(1)); | 157 | assertThat(flowOperations, hasSize(1)); |
... | @@ -184,19 +164,23 @@ public class PathConstraintCalculationTest extends AbstractIntentTest { | ... | @@ -184,19 +164,23 @@ public class PathConstraintCalculationTest extends AbstractIntentTest { |
184 | @Test | 164 | @Test |
185 | public void testInstallLambdaConstrainedIntentFailure() { | 165 | public void testInstallLambdaConstrainedIntentFailure() { |
186 | 166 | ||
187 | - final IntentTestsMocks.MockResourceService resourceService = | ||
188 | - IntentTestsMocks.MockResourceService.makeLambdaResourceService(1); | ||
189 | final Constraint constraint = new LambdaConstraint(Lambda.valueOf(1)); | 167 | final Constraint constraint = new LambdaConstraint(Lambda.valueOf(1)); |
190 | 168 | ||
191 | - final List<Intent> compiledIntents = compileIntent(constraint, resourceService); | 169 | + List<Link> links = Arrays.asList( |
192 | - assertThat(compiledIntents, notNullValue()); | 170 | + createEdgeLink(d1p0, true), |
193 | - assertThat(compiledIntents, hasSize(1)); | 171 | + new DefaultLink(PID, d1p1, d2p0, DIRECT), |
172 | + new DefaultLink(PID, d2p1, d3p1, DIRECT), | ||
173 | + createEdgeLink(d3p0, false) | ||
174 | + ); | ||
175 | + PathIntent installable = createPathIntent(links, Arrays.asList(constraint)); | ||
194 | 176 | ||
195 | // Make it look like the available lambda was consumed | 177 | // Make it look like the available lambda was consumed |
178 | + final IntentTestsMocks.MockResourceService resourceService = makeLambdaResourceService(1); | ||
196 | resourceService.setAvailableLambda(0); | 179 | resourceService.setAvailableLambda(0); |
180 | + sut.resourceService = resourceService; | ||
197 | 181 | ||
198 | try { | 182 | try { |
199 | - installIntents(compiledIntents, resourceService); | 183 | + sut.install(installable); |
200 | fail("Lambda request with no available lambda did not fail."); | 184 | fail("Lambda request with no available lambda did not fail."); |
201 | } catch (IntentTestsMocks.MockedAllocationFailure failure) { | 185 | } catch (IntentTestsMocks.MockedAllocationFailure failure) { |
202 | assertThat(failure, | 186 | assertThat(failure, | ... | ... |
... | @@ -36,7 +36,7 @@ import org.onosproject.net.resource.Bandwidth; | ... | @@ -36,7 +36,7 @@ import org.onosproject.net.resource.Bandwidth; |
36 | import org.onosproject.net.resource.Lambda; | 36 | import org.onosproject.net.resource.Lambda; |
37 | import org.onosproject.net.resource.LinkResourceService; | 37 | import org.onosproject.net.resource.LinkResourceService; |
38 | 38 | ||
39 | -import java.util.LinkedList; | 39 | +import java.util.Arrays; |
40 | import java.util.List; | 40 | import java.util.List; |
41 | 41 | ||
42 | import static org.hamcrest.CoreMatchers.instanceOf; | 42 | import static org.hamcrest.CoreMatchers.instanceOf; |
... | @@ -77,14 +77,29 @@ public class PointToPointIntentCompilerTest extends AbstractIntentTest { | ... | @@ -77,14 +77,29 @@ public class PointToPointIntentCompilerTest extends AbstractIntentTest { |
77 | } | 77 | } |
78 | 78 | ||
79 | /** | 79 | /** |
80 | + * Creates a PointToPoint intent based on ingress and egress deviceIds and constraints. | ||
81 | + * | ||
82 | + * @param ingressIdString string for id of ingress device | ||
83 | + * @param egressIdString string for id of egress device | ||
84 | + * @param constraints constraints | ||
85 | + * @return PointToPointIntent for the two device with constraints | ||
86 | + */ | ||
87 | + private PointToPointIntent makeIntent(String ingressIdString, | ||
88 | + String egressIdString, List<Constraint> constraints) { | ||
89 | + return new PointToPointIntent(APPID, selector, treatment, | ||
90 | + connectPoint(ingressIdString, 1), | ||
91 | + connectPoint(egressIdString, 1), | ||
92 | + constraints); | ||
93 | + } | ||
94 | + | ||
95 | + /** | ||
80 | * Creates a compiler for HostToHost intents. | 96 | * Creates a compiler for HostToHost intents. |
81 | * | 97 | * |
82 | * @param hops string array describing the path hops to use when compiling | 98 | * @param hops string array describing the path hops to use when compiling |
83 | * @return HostToHost intent compiler | 99 | * @return HostToHost intent compiler |
84 | */ | 100 | */ |
85 | private PointToPointIntentCompiler makeCompiler(String[] hops) { | 101 | private PointToPointIntentCompiler makeCompiler(String[] hops) { |
86 | - PointToPointIntentCompiler compiler = | 102 | + PointToPointIntentCompiler compiler = new PointToPointIntentCompiler(); |
87 | - new PointToPointIntentCompiler(); | ||
88 | compiler.pathService = new IntentTestsMocks.MockPathService(hops); | 103 | compiler.pathService = new IntentTestsMocks.MockPathService(hops); |
89 | return compiler; | 104 | return compiler; |
90 | } | 105 | } |
... | @@ -96,8 +111,7 @@ public class PointToPointIntentCompilerTest extends AbstractIntentTest { | ... | @@ -96,8 +111,7 @@ public class PointToPointIntentCompilerTest extends AbstractIntentTest { |
96 | * @param resourceService service to use for resource allocation requests | 111 | * @param resourceService service to use for resource allocation requests |
97 | * @return point to point compiler | 112 | * @return point to point compiler |
98 | */ | 113 | */ |
99 | - private PointToPointIntentCompiler makeCompiler(LinkResourceService resourceService) { | 114 | + private PointToPointIntentCompiler makeCompiler(String[] hops, LinkResourceService resourceService) { |
100 | - final String[] hops = {"s1", "s2", "s3"}; | ||
101 | final PointToPointIntentCompiler compiler = new PointToPointIntentCompiler(); | 115 | final PointToPointIntentCompiler compiler = new PointToPointIntentCompiler(); |
102 | compiler.resourceService = resourceService; | 116 | compiler.resourceService = resourceService; |
103 | compiler.pathService = new IntentTestsMocks.MockPathService(hops); | 117 | compiler.pathService = new IntentTestsMocks.MockPathService(hops); |
... | @@ -105,33 +119,6 @@ public class PointToPointIntentCompilerTest extends AbstractIntentTest { | ... | @@ -105,33 +119,6 @@ public class PointToPointIntentCompilerTest extends AbstractIntentTest { |
105 | } | 119 | } |
106 | 120 | ||
107 | /** | 121 | /** |
108 | - * Creates an intent with a given constraint and compiles it. The compiler | ||
109 | - * will throw PathNotFoundException if the allocations cannot be satisfied. | ||
110 | - * | ||
111 | - * @param constraint constraint to apply to the created intent | ||
112 | - * @param resourceService service to use for resource allocation requests | ||
113 | - * @return List of compiled intents | ||
114 | - */ | ||
115 | - private List<Intent> compileIntent(Constraint constraint, | ||
116 | - LinkResourceService resourceService) { | ||
117 | - final List<Constraint> constraints = new LinkedList<>(); | ||
118 | - constraints.add(constraint); | ||
119 | - final TrafficSelector selector = new IntentTestsMocks.MockSelector(); | ||
120 | - final TrafficTreatment treatment = new IntentTestsMocks.MockTreatment(); | ||
121 | - | ||
122 | - final PointToPointIntent intent = | ||
123 | - new PointToPointIntent(APP_ID, | ||
124 | - selector, | ||
125 | - treatment, | ||
126 | - connectPoint("s1", 1), | ||
127 | - connectPoint("s3", 1), | ||
128 | - constraints); | ||
129 | - final PointToPointIntentCompiler compiler = makeCompiler(resourceService); | ||
130 | - | ||
131 | - return compiler.compile(intent, null, null); | ||
132 | - } | ||
133 | - | ||
134 | - /** | ||
135 | * Tests a pair of devices in an 8 hop path, forward direction. | 122 | * Tests a pair of devices in an 8 hop path, forward direction. |
136 | */ | 123 | */ |
137 | @Test | 124 | @Test |
... | @@ -225,9 +212,15 @@ public class PointToPointIntentCompilerTest extends AbstractIntentTest { | ... | @@ -225,9 +212,15 @@ public class PointToPointIntentCompilerTest extends AbstractIntentTest { |
225 | 212 | ||
226 | final LinkResourceService resourceService = | 213 | final LinkResourceService resourceService = |
227 | IntentTestsMocks.MockResourceService.makeBandwidthResourceService(1000.0); | 214 | IntentTestsMocks.MockResourceService.makeBandwidthResourceService(1000.0); |
228 | - final Constraint constraint = new BandwidthConstraint(Bandwidth.bps(100.0)); | 215 | + final List<Constraint> constraints = Arrays.asList(new BandwidthConstraint(Bandwidth.bps(100.0))); |
216 | + | ||
217 | + final PointToPointIntent intent = makeIntent("s1", "s3", constraints); | ||
218 | + | ||
219 | + String[] hops = {"s1", "s2", "s3"}; | ||
220 | + final PointToPointIntentCompiler compiler = makeCompiler(hops, resourceService); | ||
221 | + | ||
222 | + final List<Intent> compiledIntents = compiler.compile(intent, null, null); | ||
229 | 223 | ||
230 | - final List<Intent> compiledIntents = compileIntent(constraint, resourceService); | ||
231 | assertThat(compiledIntents, Matchers.notNullValue()); | 224 | assertThat(compiledIntents, Matchers.notNullValue()); |
232 | assertThat(compiledIntents, hasSize(1)); | 225 | assertThat(compiledIntents, hasSize(1)); |
233 | } | 226 | } |
... | @@ -240,10 +233,16 @@ public class PointToPointIntentCompilerTest extends AbstractIntentTest { | ... | @@ -240,10 +233,16 @@ public class PointToPointIntentCompilerTest extends AbstractIntentTest { |
240 | 233 | ||
241 | final LinkResourceService resourceService = | 234 | final LinkResourceService resourceService = |
242 | IntentTestsMocks.MockResourceService.makeBandwidthResourceService(10.0); | 235 | IntentTestsMocks.MockResourceService.makeBandwidthResourceService(10.0); |
243 | - final Constraint constraint = new BandwidthConstraint(Bandwidth.bps(100.0)); | 236 | + final List<Constraint> constraints = Arrays.asList(new BandwidthConstraint(Bandwidth.bps(100.0))); |
244 | 237 | ||
245 | try { | 238 | try { |
246 | - compileIntent(constraint, resourceService); | 239 | + final PointToPointIntent intent = makeIntent("s1", "s3", constraints); |
240 | + | ||
241 | + String[] hops = {"s1", "s2", "s3"}; | ||
242 | + final PointToPointIntentCompiler compiler = makeCompiler(hops, resourceService); | ||
243 | + | ||
244 | + compiler.compile(intent, null, null); | ||
245 | + | ||
247 | fail("Point to Point compilation with insufficient bandwidth does " | 246 | fail("Point to Point compilation with insufficient bandwidth does " |
248 | + "not throw exception."); | 247 | + "not throw exception."); |
249 | } catch (PathNotFoundException noPath) { | 248 | } catch (PathNotFoundException noPath) { |
... | @@ -257,12 +256,18 @@ public class PointToPointIntentCompilerTest extends AbstractIntentTest { | ... | @@ -257,12 +256,18 @@ public class PointToPointIntentCompilerTest extends AbstractIntentTest { |
257 | @Test | 256 | @Test |
258 | public void testLambdaConstrainedIntentSuccess() { | 257 | public void testLambdaConstrainedIntentSuccess() { |
259 | 258 | ||
260 | - final Constraint constraint = new LambdaConstraint(Lambda.valueOf(1)); | 259 | + final List<Constraint> constraints = Arrays.asList(new LambdaConstraint(Lambda.valueOf(1))); |
261 | final LinkResourceService resourceService = | 260 | final LinkResourceService resourceService = |
262 | IntentTestsMocks.MockResourceService.makeLambdaResourceService(1); | 261 | IntentTestsMocks.MockResourceService.makeLambdaResourceService(1); |
263 | 262 | ||
263 | + final PointToPointIntent intent = makeIntent("s1", "s3", constraints); | ||
264 | + | ||
265 | + String[] hops = {"s1", "s2", "s3"}; | ||
266 | + final PointToPointIntentCompiler compiler = makeCompiler(hops, resourceService); | ||
267 | + | ||
264 | final List<Intent> compiledIntents = | 268 | final List<Intent> compiledIntents = |
265 | - compileIntent(constraint, resourceService); | 269 | + compiler.compile(intent, null, null); |
270 | + | ||
266 | assertThat(compiledIntents, Matchers.notNullValue()); | 271 | assertThat(compiledIntents, Matchers.notNullValue()); |
267 | assertThat(compiledIntents, hasSize(1)); | 272 | assertThat(compiledIntents, hasSize(1)); |
268 | } | 273 | } |
... | @@ -274,11 +279,17 @@ public class PointToPointIntentCompilerTest extends AbstractIntentTest { | ... | @@ -274,11 +279,17 @@ public class PointToPointIntentCompilerTest extends AbstractIntentTest { |
274 | @Test | 279 | @Test |
275 | public void testLambdaConstrainedIntentFailure() { | 280 | public void testLambdaConstrainedIntentFailure() { |
276 | 281 | ||
277 | - final Constraint constraint = new LambdaConstraint(Lambda.valueOf(1)); | 282 | + final List<Constraint> constraints = Arrays.asList(new LambdaConstraint(Lambda.valueOf(1))); |
278 | final LinkResourceService resourceService = | 283 | final LinkResourceService resourceService = |
279 | IntentTestsMocks.MockResourceService.makeBandwidthResourceService(10.0); | 284 | IntentTestsMocks.MockResourceService.makeBandwidthResourceService(10.0); |
280 | try { | 285 | try { |
281 | - compileIntent(constraint, resourceService); | 286 | + final PointToPointIntent intent = makeIntent("s1", "s3", constraints); |
287 | + | ||
288 | + String[] hops = {"s1", "s2", "s3"}; | ||
289 | + final PointToPointIntentCompiler compiler = makeCompiler(hops, resourceService); | ||
290 | + | ||
291 | + compiler.compile(intent, null, null); | ||
292 | + | ||
282 | fail("Point to Point compilation with no available lambda does " | 293 | fail("Point to Point compilation with no available lambda does " |
283 | + "not throw exception."); | 294 | + "not throw exception."); |
284 | } catch (PathNotFoundException noPath) { | 295 | } catch (PathNotFoundException noPath) { | ... | ... |
-
Please register or login to post a comment