@Test public void testUserNameIsLong() { resetDateTimeProviderRule.setDateTimeFixed("2014-12-08T19:07:06.698Z"); System.getProperties().put("user.name", "abcdeabcdeabcdeabcdeabcdeabcde"); DataflowPipelineOptions options = PipelineOptionsFactory.as(DataflowPipelineOptions.class); options.setAppName("1234567890"); List<String> nameComponents = Splitter.on('-').splitToList(options.getJobName()); assertEquals(4, nameComponents.size()); assertEquals("a234567890", nameComponents.get(0)); assertEquals("abcdeabcdeabcdeabcdeabcdeabcde", nameComponents.get(1)); assertEquals("1208190706", nameComponents.get(2)); // Verify the last component is a hex integer (unsigned). Long.parseLong(nameComponents.get(3), 16); }
@Test public void testUtf8UserNameAndApplicationNameIsNormalized() { resetDateTimeProviderRule.setDateTimeFixed("2014-12-08T19:07:06.698Z"); System.getProperties().put("user.name", "ði ıntəˈnæʃənəl "); DataflowPipelineOptions options = PipelineOptionsFactory.as(DataflowPipelineOptions.class); options.setAppName("fəˈnɛtık əsoʊsiˈeıʃn"); List<String> nameComponents = Splitter.on('-').splitToList(options.getJobName()); assertEquals(4, nameComponents.size()); assertEquals("f00n0t0k00so0si0e00n", nameComponents.get(0)); assertEquals("0i00nt00n000n0l0", nameComponents.get(1)); assertEquals("1208190706", nameComponents.get(2)); // Verify the last component is a hex integer (unsigned). Long.parseLong(nameComponents.get(3), 16); }
@Test public void testAppNameAndUserNameAreLong() { resetDateTimeProviderRule.setDateTimeFixed("2014-12-08T19:07:06.698Z"); System.getProperties().put("user.name", "abcdeabcdeabcdeabcdeabcdeabcde"); DataflowPipelineOptions options = PipelineOptionsFactory.as(DataflowPipelineOptions.class); options.setAppName("1234567890123456789012345678901234567890"); List<String> nameComponents = Splitter.on('-').splitToList(options.getJobName()); assertEquals(4, nameComponents.size()); assertEquals("a234567890123456789012345678901234567890", nameComponents.get(0)); assertEquals("abcdeabcdeabcdeabcdeabcdeabcde", nameComponents.get(1)); assertEquals("1208190706", nameComponents.get(2)); // Verify the last component is a hex integer (unsigned). Long.parseLong(nameComponents.get(3), 16); }
@Test public void testAppNameIsLong() { resetDateTimeProviderRule.setDateTimeFixed("2014-12-08T19:07:06.698Z"); System.getProperties().put("user.name", "abcde"); DataflowPipelineOptions options = PipelineOptionsFactory.as(DataflowPipelineOptions.class); options.setAppName("1234567890123456789012345678901234567890"); List<String> nameComponents = Splitter.on('-').splitToList(options.getJobName()); assertEquals(4, nameComponents.size()); assertEquals("a234567890123456789012345678901234567890", nameComponents.get(0)); assertEquals("abcde", nameComponents.get(1)); assertEquals("1208190706", nameComponents.get(2)); // Verify the last component is a hex integer (unsigned). Long.parseLong(nameComponents.get(3), 16); }
@Test public void testUserNameIsNotSet() { resetDateTimeProviderRule.setDateTimeFixed("2014-12-08T19:07:06.698Z"); System.getProperties().remove("user.name"); DataflowPipelineOptions options = PipelineOptionsFactory.as(DataflowPipelineOptions.class); options.setAppName("TestApplication"); List<String> nameComponents = Splitter.on('-').splitToList(options.getJobName()); assertEquals(4, nameComponents.size()); assertEquals("testapplication", nameComponents.get(0)); assertEquals("", nameComponents.get(1)); assertEquals("1208190706", nameComponents.get(2)); // Verify the last component is a hex integer (unsigned). Long.parseLong(nameComponents.get(3), 16); assertTrue(options.getJobName().length() <= 40); }
options.setAppName(DataflowRunnerTest.class.getSimpleName()); options.setJobName("some-job-name");