This is an automated email from the ASF dual-hosted git repository.

slfan1989 pushed a commit to branch trunk
in repository https://gitbox.apache.org/repos/asf/hadoop.git


The following commit(s) were added to refs/heads/trunk by this push:
     new 178d046ce61 YARN-11526. [Client] Add a unit test to FormattingCLIUtils 
(#5801)
178d046ce61 is described below

commit 178d046ce61fb7681906dba3b637d0340c352f33
Author: yl09099 <33595968+yl09...@users.noreply.github.com>
AuthorDate: Thu Jul 6 09:11:13 2023 +0800

    YARN-11526. [Client] Add a unit test to FormattingCLIUtils (#5801)
---
 .../yarn/client/util/TestFormattingCLIUtils.java   | 79 ++++++++++++++++++++++
 .../src/test/resources/FormattingResult            | 23 +++++++
 2 files changed, 102 insertions(+)

diff --git 
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client/src/test/java/org/apache/hadoop/yarn/client/util/TestFormattingCLIUtils.java
 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client/src/test/java/org/apache/hadoop/yarn/client/util/TestFormattingCLIUtils.java
new file mode 100644
index 00000000000..d890fb5836a
--- /dev/null
+++ 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client/src/test/java/org/apache/hadoop/yarn/client/util/TestFormattingCLIUtils.java
@@ -0,0 +1,79 @@
+/**
+ * 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.hadoop.yarn.client.util;
+
+import org.junit.Test;
+
+import java.io.IOException;
+import java.net.URISyntaxException;
+import java.nio.file.Files;
+import java.nio.file.Paths;
+import java.text.DecimalFormat;
+import java.util.Arrays;
+import java.util.List;
+
+import static org.junit.Assert.assertEquals;
+
+public class TestFormattingCLIUtils {
+
+  @Test
+  public void testFormattingContent() throws URISyntaxException, IOException {
+    String titleString = "4 queues were found";
+    List<String> headerStrings = Arrays.asList("Queue Name", "Queue Path", 
"State", "Capacity",
+        "Current Capacity", "Maximum Capacity", "Weight", "Maximum Parallel 
Apps");
+    FormattingCLIUtils formattingCLIUtils = new FormattingCLIUtils(titleString)
+        .addHeaders(headerStrings);
+    DecimalFormat df = new DecimalFormat("#.00");
+
+    formattingCLIUtils.addLine("queueA", "root.queueA",
+        "RUNNING", df.format(0.4 * 100) + "%",
+        df.format(0.5 * 100) + "%",
+        df.format(0.8 * 100) + "%",
+        df.format(-1),
+        "10");
+    formattingCLIUtils.addLine("queueB", "root.queueB",
+        "RUNNING", df.format(0.4 * 100) + "%",
+        df.format(0.5 * 100) + "%",
+        df.format(0.8 * 100) + "%",
+        df.format(-1),
+        "10");
+    formattingCLIUtils.addLine("queueC", "root.queueC",
+        "RUNNING", df.format(0.4 * 100) + "%",
+        df.format(0.5 * 100) + "%",
+        df.format(0.8 * 100) + "%",
+        df.format(-1),
+        "10");
+    formattingCLIUtils.addLine("queueD", "root.queueD",
+        "RUNNING", df.format(0.4 * 100) + "%",
+        df.format(0.5 * 100) + "%",
+        df.format(0.8 * 100) + "%",
+        df.format(-1),
+        "10");
+    StringBuilder resultStrBuilder = new StringBuilder();
+    List<String> lines = Files.readAllLines(Paths
+        .get(this.getClass().getResource("/FormattingResult").toURI()));
+    for (String line : lines) {
+      if (line != null && line.length() != 0 && !line.startsWith("#")) {
+        resultStrBuilder.append(line + "\n");
+      }
+    }
+    String expectStr = resultStrBuilder.toString();
+    assertEquals(expectStr, formattingCLIUtils.render());
+  }
+}
diff --git 
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client/src/test/resources/FormattingResult
 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client/src/test/resources/FormattingResult
new file mode 100644
index 00000000000..f3dc873dbf4
--- /dev/null
+++ 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client/src/test/resources/FormattingResult
@@ -0,0 +1,23 @@
+#   Licensed 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.
+# log4j configuration used during build and unit tests
+
++----------------------------------------------------------------------------------------------------------------------+
+|                                                 4 queues were found          
                                        |
++------------+-------------+---------+----------+------------------+------------------+--------+-----------------------+
+| Queue Name | Queue Path  |  State  | Capacity | Current Capacity | Maximum 
Capacity | Weight | Maximum Parallel Apps |
++------------+-------------+---------+----------+------------------+------------------+--------+-----------------------+
+|   queueA   | root.queueA | RUNNING |  40.00%  |      50.00%      |      
80.00%      | -1.00  |          10           |
+|   queueB   | root.queueB | RUNNING |  40.00%  |      50.00%      |      
80.00%      | -1.00  |          10           |
+|   queueC   | root.queueC | RUNNING |  40.00%  |      50.00%      |      
80.00%      | -1.00  |          10           |
+|   queueD   | root.queueD | RUNNING |  40.00%  |      50.00%      |      
80.00%      | -1.00  |          10           |
++------------+-------------+---------+----------+------------------+------------------+--------+-----------------------+


---------------------------------------------------------------------
To unsubscribe, e-mail: common-commits-unsubscr...@hadoop.apache.org
For additional commands, e-mail: common-commits-h...@hadoop.apache.org

Reply via email to