Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
fogbow
fogbow-green-sitter
Commits
b95a8986
Commit
b95a8986
authored
Apr 13, 2015
by
aninhacostaribeiro
Browse files
New tests for Default GreenStrategy
parent
92fa2db7
Changes
4
Hide whitespace changes
Inline
Side-by-side
agent.properties.example
View file @
b95a8986
...
@@ -11,3 +11,5 @@ host.name = agent
...
@@ -11,3 +11,5 @@ host.name = agent
green.TurnOffCommand = pm-suspend
green.TurnOffCommand = pm-suspend
green.sleepingTime = 300000
green.sleepingTime = 300000
green.threadTime = 60
\ No newline at end of file
server.properties.example
View file @
b95a8986
...
@@ -12,3 +12,5 @@ greenstrategy.gracetime = 1800
...
@@ -12,3 +12,5 @@ greenstrategy.gracetime = 1800
greenstrategy.expirationtime = 300
greenstrategy.expirationtime = 300
wol.broadcast.address = 123.123.255.255
wol.broadcast.address = 123.123.255.255
green.threadTime = 60
\ No newline at end of file
src/main/java/org/fogbowcloud/green/server/core/greenStrategy/DefaultGreenStrategy.java
View file @
b95a8986
...
@@ -34,8 +34,19 @@ public class DefaultGreenStrategy implements GreenStrategy {
...
@@ -34,8 +34,19 @@ public class DefaultGreenStrategy implements GreenStrategy {
private
long
graceTime
;
private
long
graceTime
;
private
long
expirationTime
;
private
long
expirationTime
;
private
int
threadTime
;
private
int
threadTime
;
private
Runnable
runnable
=
new
Runnable
()
{
@Override
public
void
run
()
{
try
{
checkExpiredHosts
();
sendIdleHostsToBed
();
}
catch
(
Exception
e
)
{
LOGGER
.
warn
(
"Exception thrown at the main thread"
,
e
);
}
}
};
pr
ivate
ScheduledExecutorService
executorService
=
Executors
pr
otected
ScheduledExecutorService
executorService
=
Executors
.
newScheduledThreadPool
(
1
);
.
newScheduledThreadPool
(
1
);
public
DefaultGreenStrategy
(
Properties
prop
)
{
public
DefaultGreenStrategy
(
Properties
prop
)
{
...
@@ -70,6 +81,14 @@ public class DefaultGreenStrategy implements GreenStrategy {
...
@@ -70,6 +81,14 @@ public class DefaultGreenStrategy implements GreenStrategy {
protected
void
setExpirationTime
(
long
lostHostTime
)
{
protected
void
setExpirationTime
(
long
lostHostTime
)
{
this
.
expirationTime
=
lostHostTime
;
this
.
expirationTime
=
lostHostTime
;
}
}
protected
void
setExecutorService
(
ScheduledExecutorService
executorService
)
{
this
.
executorService
=
executorService
;
}
protected
void
setRunnable
(
Runnable
runnable
)
{
this
.
runnable
=
runnable
;
}
protected
void
setAllHosts
(
List
<
Host
>
hosts
)
{
protected
void
setAllHosts
(
List
<
Host
>
hosts
)
{
this
.
hostsAwake
=
hosts
;
this
.
hostsAwake
=
hosts
;
...
@@ -78,6 +97,9 @@ public class DefaultGreenStrategy implements GreenStrategy {
...
@@ -78,6 +97,9 @@ public class DefaultGreenStrategy implements GreenStrategy {
protected
void
setDateWrapper
(
DateWrapper
dateWrapper
)
{
protected
void
setDateWrapper
(
DateWrapper
dateWrapper
)
{
this
.
dateWrapper
=
dateWrapper
;
this
.
dateWrapper
=
dateWrapper
;
}
}
protected
int
getThreadTime
()
{
return
threadTime
;
}
public
void
setCommunicationComponent
(
ServerCommunicationComponent
gscc
)
{
public
void
setCommunicationComponent
(
ServerCommunicationComponent
gscc
)
{
this
.
scc
=
gscc
;
this
.
scc
=
gscc
;
...
@@ -215,16 +237,8 @@ public class DefaultGreenStrategy implements GreenStrategy {
...
@@ -215,16 +237,8 @@ public class DefaultGreenStrategy implements GreenStrategy {
}
}
public
void
start
()
{
public
void
start
()
{
executorService
.
scheduleWithFixedDelay
(
new
Runnable
()
{
executorService
.
scheduleWithFixedDelay
(
this
.
runnable
,
0
,
threadTime
,
TimeUnit
.
SECONDS
);
@Override
public
void
run
()
{
try
{
checkExpiredHosts
();
sendIdleHostsToBed
();
}
catch
(
Exception
e
)
{
LOGGER
.
warn
(
"Exception thrown at the main thread"
,
e
);
}
}
},
0
,
threadTime
,
TimeUnit
.
SECONDS
);
}
}
}
}
src/test/java/org/fogbowcloud/green/server/core/greenStrategy/TestDefaultGreenStrategy.java
View file @
b95a8986
...
@@ -3,6 +3,9 @@ package org.fogbowcloud.green.server.core.greenStrategy;
...
@@ -3,6 +3,9 @@ package org.fogbowcloud.green.server.core.greenStrategy;
import
java.io.IOException
;
import
java.io.IOException
;
import
java.util.LinkedList
;
import
java.util.LinkedList
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Properties
;
import
java.util.concurrent.ScheduledExecutorService
;
import
java.util.concurrent.TimeUnit
;
import
org.fogbowcloud.green.server.communication.ServerCommunicationComponent
;
import
org.fogbowcloud.green.server.communication.ServerCommunicationComponent
;
import
org.fogbowcloud.green.server.core.plugins.openstack.OpenStackInfoPlugin
;
import
org.fogbowcloud.green.server.core.plugins.openstack.OpenStackInfoPlugin
;
...
@@ -23,6 +26,49 @@ public class TestDefaultGreenStrategy {
...
@@ -23,6 +26,49 @@ public class TestDefaultGreenStrategy {
Mockito
.
when
(
date
.
getTime
()).
thenReturn
(
Time
);
Mockito
.
when
(
date
.
getTime
()).
thenReturn
(
Time
);
return
date
;
return
date
;
}
}
private
Properties
createBasicProperties
()
{
Properties
prop
=
new
Properties
();
prop
.
put
(
"openstack.endpoint"
,
"endpoint"
);
prop
.
put
(
"openstack.username"
,
"username"
);
prop
.
put
(
"openstack.password"
,
"password"
);
prop
.
put
(
"openstack.tenant"
,
"tenant"
);
prop
.
put
(
"greenstrategy.gracetime"
,
"1"
);
prop
.
put
(
"greenstrategy.expirationtime"
,
"1"
);
return
prop
;
}
@Test
public
void
testPropertiesWithoutThreadTime
()
{
Properties
prop
=
createBasicProperties
();
DefaultGreenStrategy
dgs
=
new
DefaultGreenStrategy
(
prop
);
Assert
.
assertEquals
(
60
,
dgs
.
getThreadTime
());
}
@Test
public
void
testPropertiesWithThreadTime
()
{
Properties
prop
=
createBasicProperties
();
prop
.
put
(
"green.threadTime"
,
"10"
);
DefaultGreenStrategy
dgs
=
new
DefaultGreenStrategy
(
prop
);
Assert
.
assertEquals
(
10
,
dgs
.
getThreadTime
());
}
@Test
public
void
testStartMethod
()
{
Properties
prop
=
createBasicProperties
();
final
DefaultGreenStrategy
dgs
=
new
DefaultGreenStrategy
(
prop
);
Runnable
runnable
=
new
Runnable
()
{
@Override
public
void
run
()
{
}
};
dgs
.
setRunnable
(
runnable
);
ScheduledExecutorService
executorService
=
Mockito
.
mock
(
ScheduledExecutorService
.
class
);
dgs
.
setExecutorService
(
executorService
);
dgs
.
start
();
Mockito
.
verify
(
executorService
).
scheduleWithFixedDelay
(
runnable
,
0
,
60
,
TimeUnit
.
SECONDS
);
}
@Test
@Test
public
void
testCheckExpiredHots
()
{
public
void
testCheckExpiredHots
()
{
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment