4123c17a34544dd91ec1029e48aa956078e9a34b
[aquarium] / logic / src / test / scala / gr / grnet / aquarium / util / RandomEventGenerator.scala
1 package gr.grnet.aquarium.util
2
3 /*
4  * Copyright 2011 GRNET S.A. All rights reserved.
5  *
6  * Redistribution and use in source and binary forms, with or
7  * without modification, are permitted provided that the following
8  * conditions are met:
9  *
10  *   1. Redistributions of source code must retain the above
11  *      copyright notice, this list of conditions and the following
12  *      disclaimer.
13  *
14  *   2. Redistributions in binary form must reproduce the above
15  *      copyright notice, this list of conditions and the following
16  *      disclaimer in the documentation and/or other materials
17  *      provided with the distribution.
18  *
19  * THIS SOFTWARE IS PROVIDED BY GRNET S.A. ``AS IS'' AND ANY EXPRESS
20  * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
21  * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
22  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL GRNET S.A OR
23  * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
24  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
25  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
26  * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
27  * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
28  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
29  * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
30  * POSSIBILITY OF SUCH DAMAGE.
31  *
32  * The views and conclusions contained in the software and
33  * documentation are those of the authors and should not be
34  * interpreted as representing official policies, either expressed
35  * or implied, of GRNET S.A.
36  */
37
38 import java.util.Date
39 import gr.grnet.aquarium.logic.events.ResourceEvent
40
41 /**
42  *  Generates random resource events to use as input for testing and
43  *  injects them to the specified queue.
44  *
45  * @author Georgios Gousios <gousiosg@gmail.com>
46  */
47 trait RandomEventGenerator {
48
49   val userIds = 1 to 100
50   val clientIds = 1 to 4
51   val resources = List("bandwidthup", "bandwidthdown", "vmtime", "diskspace")
52   val dateFrom = new Date(1293840000000L) //1/1/2011 0:00:00 GMT
53   val dateTo = new Date(1325376000000L) //1/1/2012 0:00:00 GMT
54   val eventVersion = 1 to 4
55
56   /**
57    * Get a next random message
58    */
59   def nextResourceEvent() : ResourceEvent = {
60
61
62     ResourceEvent(0,0,"",0L,0,Map())
63   }
64
65   /**
66    * Generate messages and add them to the queue
67    */
68   def genAdd(num: Int) = {
69
70     assert(num > 0)
71
72     (1 to num).foreach {
73       n =>
74     }
75   }
76 }