//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes: //ORIGINAL LINE: @Test public void shouldLogTXMetaDataInQueryLog() throws Throwable //JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in C#: public virtual void ShouldLogTXMetaDataInQueryLog() { // turn on query logging _databaseBuilder.setConfig(logs_directory, _logsDirectory.Path); _databaseBuilder.setConfig(log_queries, Settings.TRUE); _db = new EmbeddedInteraction(_databaseBuilder, Collections.emptyMap()); GraphDatabaseFacade graph = _db.LocalGraph; _db.LocalUserManager.setUserPassword("neo4j", password("123"), false); EnterpriseLoginContext subject = _db.login("neo4j", "123"); _db.executeQuery(subject, "UNWIND range(0, 10) AS i CREATE (:Foo {p: i})", Collections.emptyMap(), ResourceIterator.close); // Set meta data and execute query in transaction using (InternalTransaction tx = _db.beginLocalTransactionAsUser(subject, KernelTransaction.Type.@explicit)) { graph.Execute("CALL dbms.setTXMetaData( { User: '******' } )", Collections.emptyMap()); graph.Execute("CALL dbms.procedures() YIELD name RETURN name", Collections.emptyMap()).close(); graph.Execute("MATCH (n) RETURN n", Collections.emptyMap()).close(); graph.Execute(QUERY, Collections.emptyMap()); tx.Success(); } // Ensure that old meta data is not retained using (InternalTransaction tx = _db.beginLocalTransactionAsUser(subject, KernelTransaction.Type.@explicit)) { graph.Execute("CALL dbms.setTXMetaData( { Location: 'Sweden' } )", Collections.emptyMap()); graph.Execute("MATCH ()-[r]-() RETURN count(r)", Collections.emptyMap()).close(); tx.Success(); } _db.tearDown(); // THEN IList <string> logLines = ReadAllLines(_logFilename); assertThat(logLines, hasSize(7)); assertThat(logLines[0], not(containsString("User: '******'"))); // we don't care if setTXMetaData contains the meta data //assertThat( logLines.get( 1 ), containsString( "User: Johan" ) ); assertThat(logLines[2], containsString("User: '******'")); assertThat(logLines[3], containsString("User: '******'")); assertThat(logLines[4], containsString("User: '******'")); // we want to make sure that the new transaction does not carry old meta data assertThat(logLines[5], not(containsString("User: '******'"))); assertThat(logLines[6], containsString("Location: 'Sweden'")); }
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes: //ORIGINAL LINE: @Test public void shouldLogCustomUserName() throws Throwable //JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in C#: public virtual void ShouldLogCustomUserName() { // turn on query logging //JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final': //ORIGINAL LINE: final java.util.Map<String, String> config = stringMap(logs_directory.name(), logsDirectory.getPath(), log_queries.name(), org.neo4j.kernel.configuration.Settings.TRUE); IDictionary <string, string> config = stringMap(logs_directory.name(), _logsDirectory.Path, log_queries.name(), Settings.TRUE); _db = new EmbeddedInteraction(_databaseBuilder, config); // create users _db.LocalUserManager.newUser("mats", password("neo4j"), false); _db.LocalUserManager.newUser("andres", password("neo4j"), false); _db.LocalUserManager.addRoleToUser("architect", "mats"); _db.LocalUserManager.addRoleToUser("reader", "andres"); EnterpriseLoginContext mats = _db.login("mats", "neo4j"); // run query _db.executeQuery(mats, "UNWIND range(0, 10) AS i CREATE (:Foo {p: i})", Collections.emptyMap(), ResourceIterator.close); _db.executeQuery(mats, "CREATE (:Label)", Collections.emptyMap(), ResourceIterator.close); // switch user, run query EnterpriseLoginContext andres = _db.login("andres", "neo4j"); _db.executeQuery(andres, "MATCH (n:Label) RETURN n", Collections.emptyMap(), ResourceIterator.close); _db.tearDown(); // THEN IList <string> logLines = ReadAllLines(_logFilename); assertThat(logLines, hasSize(3)); assertThat(logLines[0], containsString("mats")); assertThat(logLines[1], containsString("mats")); assertThat(logLines[2], containsString("andres")); }