ACCUMULO-3304 Add a basic test for assignment warnings.

Project: http://git-wip-us.apache.org/repos/asf/accumulo/repo
Commit: http://git-wip-us.apache.org/repos/asf/accumulo/commit/1f3288b2
Tree: http://git-wip-us.apache.org/repos/asf/accumulo/tree/1f3288b2
Diff: http://git-wip-us.apache.org/repos/asf/accumulo/diff/1f3288b2

Branch: refs/heads/1.6
Commit: 1f3288b20181454ac218177e91c4573c4a24daa0
Parents: 995080c
Author: Josh Elser <els...@apache.org>
Authored: Sat Nov 8 12:50:12 2014 -0500
Committer: Josh Elser <els...@apache.org>
Committed: Sat Nov 8 12:50:12 2014 -0500

----------------------------------------------------------------------
 .../accumulo/tserver/AssignmentWatcherTest.java | 66 ++++++++++++++++++++
 1 file changed, 66 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/accumulo/blob/1f3288b2/server/tserver/src/test/java/org/apache/accumulo/tserver/AssignmentWatcherTest.java
----------------------------------------------------------------------
diff --git 
a/server/tserver/src/test/java/org/apache/accumulo/tserver/AssignmentWatcherTest.java
 
b/server/tserver/src/test/java/org/apache/accumulo/tserver/AssignmentWatcherTest.java
new file mode 100644
index 0000000..8dfc256
--- /dev/null
+++ 
b/server/tserver/src/test/java/org/apache/accumulo/tserver/AssignmentWatcherTest.java
@@ -0,0 +1,66 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.accumulo.tserver;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import org.apache.accumulo.core.conf.AccumuloConfiguration;
+import org.apache.accumulo.core.conf.Property;
+import org.apache.accumulo.core.data.KeyExtent;
+import org.apache.accumulo.server.util.time.SimpleTimer;
+import 
org.apache.accumulo.tserver.TabletServerResourceManager.AssignmentWatcher;
+import org.apache.hadoop.io.Text;
+import org.easymock.EasyMock;
+import org.junit.Before;
+import org.junit.Test;
+
+public class AssignmentWatcherTest {
+
+  private Map<KeyExtent,RunnableStartedAt> assignments;
+  private SimpleTimer timer;
+  private AccumuloConfiguration conf;
+  private AssignmentWatcher watcher;
+
+  @Before
+  public void setup() {
+    assignments = new HashMap<KeyExtent,RunnableStartedAt>();
+    timer = EasyMock.createMock(SimpleTimer.class);
+    conf = EasyMock.createMock(AccumuloConfiguration.class);
+    watcher = new AssignmentWatcher(conf, assignments, timer);
+  }
+
+  @Test
+  public void testAssignmentWarning() {
+    ActiveAssignmentRunnable task = 
EasyMock.createMock(ActiveAssignmentRunnable.class);
+    RunnableStartedAt run = new RunnableStartedAt(task, 
System.currentTimeMillis());
+    
EasyMock.expect(conf.getTimeInMillis(Property.TSERV_ASSIGNMENT_DURATION_WARNING)).andReturn(0l);
+
+    assignments.put(new KeyExtent(new Text("1"), null, null), run);
+
+    EasyMock.expect(task.getException()).andReturn(new Exception("Assignment 
warning happened"));
+    timer.schedule(watcher, 5000l);
+    EasyMock.expectLastCall();
+
+    EasyMock.replay(timer, conf, task);
+
+    watcher.run();
+
+    EasyMock.verify(timer, conf, task);
+  }
+
+}

Reply via email to