HorizonNet commented on a change in pull request #4231:
URL: https://github.com/apache/nifi/pull/4231#discussion_r414690223
##########
File path:
nifi-nar-bundles/nifi-mongodb-bundle/nifi-mongodb-processors/src/test/java/org/apache/nifi/processors/mongodb/GetMongoIT.java
##########
@@ -61,9 +64,9 @@
static {
CAL = Calendar.getInstance();
DOCUMENTS = Lists.newArrayList(
- new Document("_id", "doc_1").append("a", 1).append("b",
2).append("c", 3),
- new Document("_id", "doc_2").append("a", 1).append("b",
2).append("c", 4).append("date_field", CAL.getTime()),
- new Document("_id", "doc_3").append("a", 1).append("b", 3)
+ new Document("_id", "doc_1").append("a", 1).append("b",
2).append("c", 3),
Review comment:
Was this done by IDE auto-indentation or because the earlier version did
not match the general indentation? There are also similar places in the other
classes.
##########
File path:
nifi-nar-bundles/nifi-mongodb-bundle/nifi-mongodb-processors/src/test/java/org/apache/nifi/processors/mongodb/GetMongoIT.java
##########
@@ -668,4 +671,53 @@ public void testSendEmpty() throws Exception {
MockFlowFile flowFile = flowFiles.get(0);
Assert.assertEquals(0, flowFile.getSize());
}
+
+
+ @Test
+ public void testReadUserPaswd() throws Exception {
+ final String username = "myuser";
+ final String password = "password";
+ mongoClient = new MongoClient(new MongoClientURI(MONGO_URI));
+ final MongoDatabase db = mongoClient.getDatabase(DB_NAME);
+ final BasicDBObject createUserCommand = new
BasicDBObject("createUser", username).append("pwd", password).append("roles",
+ java.util.Collections.singletonList(new BasicDBObject("role",
"dbOwner").append("db", DB_NAME)));
+
+ BasicDBObject getUsersInfoCommand = new BasicDBObject("usersInfo", new
BasicDBObject("user", username).append("db", DB_NAME));
+ Document result = db.runCommand(getUsersInfoCommand);
+ BasicDBObject dropUserCommand = new BasicDBObject("dropUser",
username);
+
+ ArrayList users = (ArrayList) result.get("users");
+ if (!users.isEmpty()) {
+ db.runCommand(dropUserCommand);
+ System.out.println("dropping user");
Review comment:
Better would be to use a logger.
##########
File path:
nifi-nar-bundles/nifi-mongodb-bundle/nifi-mongodb-processors/src/main/java/org/apache/nifi/processors/mongodb/GetMongo.java
##########
@@ -253,7 +278,14 @@ public void onTrigger(final ProcessContext context, final
ProcessSession session
});
outgoingFlowFile =
session.putAllAttributes(outgoingFlowFile, attributes);
- session.getProvenanceReporter().receive(outgoingFlowFile,
getURI(context));
+ String uriPass="";
+ if (context.getProperty(USER_NAME).getValue() != null) {
+ uriPass = "mongodb://" +
context.getProperty(USER_NAME).getValue() + ":" +
context.getProperty(PASSWORD).getValue() + "@" + getURI(context).substring(10);
+
Review comment:
Remove this empty line.
##########
File path:
nifi-nar-bundles/nifi-mongodb-bundle/nifi-mongodb-processors/src/test/java/org/apache/nifi/processors/mongodb/GetMongoIT.java
##########
@@ -668,4 +671,53 @@ public void testSendEmpty() throws Exception {
MockFlowFile flowFile = flowFiles.get(0);
Assert.assertEquals(0, flowFile.getSize());
}
+
+
+ @Test
+ public void testReadUserPaswd() throws Exception {
+ final String username = "myuser";
+ final String password = "password";
+ mongoClient = new MongoClient(new MongoClientURI(MONGO_URI));
+ final MongoDatabase db = mongoClient.getDatabase(DB_NAME);
+ final BasicDBObject createUserCommand = new
BasicDBObject("createUser", username).append("pwd", password).append("roles",
+ java.util.Collections.singletonList(new BasicDBObject("role",
"dbOwner").append("db", DB_NAME)));
+
+ BasicDBObject getUsersInfoCommand = new BasicDBObject("usersInfo", new
BasicDBObject("user", username).append("db", DB_NAME));
+ Document result = db.runCommand(getUsersInfoCommand);
+ BasicDBObject dropUserCommand = new BasicDBObject("dropUser",
username);
+
+ ArrayList users = (ArrayList) result.get("users");
+ if (!users.isEmpty()) {
+ db.runCommand(dropUserCommand);
+ System.out.println("dropping user");
+ }
+ db.runCommand(createUserCommand);
+
+ //setting new property
+ runner.removeProperty(AbstractMongoProcessor.URI);
+ runner.setVariable("uri",
"mongodb://localhost:27017/?authSource="+DB_NAME);
+ runner.setProperty(AbstractMongoProcessor.URI, "${uri}");
+ runner.setProperty(GetMongo.PASSWORD,password);
Review comment:
To stay consistent, add a space between the arguments. There are also
other similar places in this class.
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]