0827d5a9dadd03a3c9edbf236181cb7584ecad73
[genius.git] / idmanager / idmanager-impl / src / test / java / org / opendaylight / genius / idmanager / test / ExpectedAllocateIdMultipleRequestsFromReleaseIds.xtend
1 /*
2  * Copyright (c) 2017 Ericsson India Global Services Pvt Ltd. and others.  All rights reserved.
3  *
4  * This program and the accompanying materials are made available under the
5  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
6  * and is available at http://www.eclipse.org/legal/epl-v10.html
7  */
8 package org.opendaylight.genius.idmanager.test
9
10 import org.opendaylight.genius.idmanager.IdUtils
11 import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.idmanager.rev160406.id.pools.IdPoolBuilder
12 import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.idmanager.rev160406.id.pools.id.pool.AvailableIdsHolderBuilder
13 import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.idmanager.rev160406.id.pools.id.pool.ChildPoolsBuilder
14 import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.idmanager.rev160406.id.pools.id.pool.IdEntriesBuilder
15 import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.idmanager.rev160406.id.pools.id.pool.ReleasedIdsHolderBuilder
16 import org.opendaylight.yangtools.yang.common.Uint32;
17
18 import static extension org.opendaylight.mdsal.binding.testutils.XtendBuilderExtensions.operator_doubleGreaterThan
19
20 class ExpectedAllocateIdMultipleRequestsFromReleaseIds {
21
22     static val idUtil = new IdUtils();
23     static String localPoolName = idUtil.getLocalPoolName("test-pool");
24
25     def static idPoolParent() {
26         new IdPoolBuilder >> [
27             availableIdsHolder = new AvailableIdsHolderBuilder >> [
28                 cursor = 9L
29                 end = 100L
30                 start = 0L
31             ]
32             blockSize = 10
33             childPools = #[
34                 new ChildPoolsBuilder >> [
35                     childPoolName = localPoolName
36                     lastAccessTime = 0L
37                 ]
38             ]
39             idEntries = #[
40                 new IdEntriesBuilder >> [
41                     idKey = "test-key1"
42                     idValue = #[
43                         Uint32.valueOf(0L)
44                     ]
45                 ],
46                 new IdEntriesBuilder >> [
47                     idKey = "test-key12"
48                     idValue = #[
49                         Uint32.valueOf(3L)
50                     ]
51                 ],
52                 new IdEntriesBuilder >> [
53                     idKey = "test-key11"
54                     idValue = #[
55                         Uint32.valueOf(2L)
56                     ]
57                 ],
58                 new IdEntriesBuilder >> [
59                     idKey = "test-key10"
60                     idValue = #[
61                         Uint32.valueOf(1L)
62                     ]
63                 ]
64             ]
65             poolName = "test-pool"
66             releasedIdsHolder = new ReleasedIdsHolderBuilder >> [
67                 availableIdCount = 0L
68                 delayedTimeSec = 0L
69             ]
70         ]
71     }
72
73     def static idPoolChild() {
74         new IdPoolBuilder >> [
75             availableIdsHolder = new AvailableIdsHolderBuilder >> [
76                 cursor = 10L
77                 end = 9L
78                 start = 0L
79             ]
80             blockSize = 10
81             parentPoolName = "test-pool"
82             poolName = localPoolName
83             releasedIdsHolder = new ReleasedIdsHolderBuilder >> [
84                 availableIdCount = 0L
85                 delayedTimeSec = 30L
86             ]
87         ]
88     }
89 }