Project

General

Profile

« Previous | Next » 

Revision 6094

Fixed MetaCatServletTest test failures by removing the hardcoded username/passwords used in the tests and replacing those with data from metacat.properties.

View differences:

MetaCatServletTest.java
157 157
	/**
158 158
	 * Test the login to neceas succesfully
159 159
	 */
160
	public void testNCEASLogin() {
161
		debug("\nRunning: testNCEASLogin test");
162
		String user = "uid=john,o=NCEAS,dc=ecoinformatics,dc=org";
163
		String passwd = "123456";
164
		assertTrue(logIn(user, passwd));
165
		// assertTrue( withProtocol.getProtocol().equals("http"));
166
	}
160
    public void testNCEASLogin() {
161
        debug("\nRunning: testNCEASLogin test");
162
        try {
163
            String user = PropertyService.getProperty("test.mcUser");
164
            String passwd = PropertyService.getProperty("test.mcPassword");
165
            assertTrue(logIn(user, passwd));
166
        } catch (PropertyNotFoundException pnfe) {
167
            fail("Could not find property: " + pnfe.getMessage());
168
        }
169
    }
167 170

  
168 171
	/**
169 172
	 * Test the login to neceas failed
170 173
	 */
171 174
	public void testNCEASLoginFail() {
172 175
		debug("\nRunning: testNCEASLoginFail test");
173
		String user = "uid=john,o=NCEAS,dc=ecoinformatics,dc=org";
174
		String passwd = "12345678";
175
		assertTrue(!logIn(user, passwd));
176

  
176
        try {
177
            String user = PropertyService.getProperty("test.mcUser");
178
            String passwd = "BogusPasswordShouldFail";
179
            assertTrue(!logIn(user, passwd));
180
        } catch (PropertyNotFoundException pnfe) {
181
            fail("Could not find property: " + pnfe.getMessage());
182
        }
177 183
	}
178 184

  
179 185
	/**
......
238 244
	/**
239 245
	 * Test insert a xml document successfully
240 246
	 */
241
	public void testInsertXMLDocument() {
242
		debug("\nRunning: testInsertXMLDocument test");
243
		String name = null;
244
		try {
245
			name = "john" + PropertyService.getProperty("document.accNumSeparator")
246
					+ serialNumber
247
					+ PropertyService.getProperty("document.accNumSeparator") + "1";
248
		} catch (PropertyNotFoundException pnfe) {
249
			fail("Could not find property: " + pnfe.getMessage());
250
		}
251
		debug("insert docid: " + name);
252
		String content = "<?xml version=\"1.0\"?>"
253
				+ "<!DOCTYPE acl PUBLIC \"-//ecoinformatics.org//"
254
				+ "eml-access-2.0.0beta6//EN\" \"http://pine.nceas.ucsb."
255
				+ "edu:8080/tao/dtd/eml-access-2.0.0beta6.dtd\">"
256
				+ "<acl authSystem=\"knb\" order=\"allowFirst\">" + "<identifier>" + name
257
				+ "</identifier>" + "<allow>"
258
				+ "<principal>uid=john,o=NCEAS,dc=ecoinformatics,dc=org</principal>"
259
				+ "<permission>all</permission>" + "</allow>" + "<allow>"
260
				+ "<principal>public</principal>" + "<permission>read</permission>"
261
				+ "</allow>" + "</acl>";
262
		debug("xml document: " + content);
263
		assertTrue(handleXMLDocument(content, name, "insert"));
247
    public void testInsertXMLDocument() {
248
        debug("\nRunning: testInsertXMLDocument test");
249
        String name = null;
250
        try {
251
            String user = PropertyService.getProperty("test.mcUser");
252
            String passwd = PropertyService.getProperty("test.mcPassword");
264 253

  
265
	}
254
            name = "john" + PropertyService.getProperty("document.accNumSeparator") + serialNumber + PropertyService.getProperty("document.accNumSeparator")
255
                    + "1";
256
            debug("insert docid: " + name);
257
            String content = "<?xml version=\"1.0\"?>" + "<!DOCTYPE acl PUBLIC \"-//ecoinformatics.org//"
258
                    + "eml-access-2.0.0beta6//EN\" \"http://pine.nceas.ucsb.edu:8080/tao/dtd/eml-access-2.0.0beta6.dtd\">"
259
                    + "<acl authSystem=\"knb\" order=\"allowFirst\">" + "<identifier>" + name + "</identifier>" + "<allow>" + "<principal>" + user
260
                    + "</principal>" + "<permission>all</permission>" + "</allow>" + "<allow>" + "<principal>public</principal>"
261
                    + "<permission>read</permission>" + "</allow>" + "</acl>";
262
            debug("xml document: " + content);
263
            assertTrue(handleXMLDocument(content, name, "insert"));
264
        } catch (PropertyNotFoundException pnfe) {
265
            fail("Could not find property: " + pnfe.getMessage());
266
        }
267
    }
266 268

  
267 269
	/**
268 270
	 * Test insert a invalidate xml document successfully In the String, there
269 271
	 * is no <!Doctype ... Public/System/>
270 272
	 */
271
	public void testInsertInvalidateXMLDocument() {
272
		debug("\nRunning: testInsertInvalidateXMLDocument test");
273
		String name = null;
274
		try {
275
			name = "john" + PropertyService.getProperty("document.accNumSeparator")
276
					+ serialNumber
277
					+ PropertyService.getProperty("document.accNumSeparator") + "1";
278
		} catch (PropertyNotFoundException pnfe) {
279
			fail("Could not find property: " + pnfe.getMessage());
280
		}
281
		debug("insert docid: " + name);
282
		String content = "<?xml version=\"1.0\"?>"
283
				+ "<acl authSystem=\"knb\" order=\"allowFirst\">" + "<identifier>" + name
284
				+ "</identifier>" + "<allow>"
285
				+ "<principal>uid=john,o=NCEAS,dc=ecoinformatics,dc=org</principal>"
286
				+ "<permission>all</permission>" + "</allow>" + "<allow>"
287
				+ "<principal>public</principal>" + "<permission>read</permission>"
288
				+ "</allow>" + "</acl>";
289
		debug("xml document: " + content);
290
		assertTrue(handleXMLDocument(content, name, "insert"));
291
	}
273
    public void testInsertInvalidateXMLDocument() {
274
        debug("\nRunning: testInsertInvalidateXMLDocument test");
275
        String name = null;
276
        try {
277
            String user = PropertyService.getProperty("test.mcUser");
278
            String passwd = PropertyService.getProperty("test.mcPassword");
292 279

  
280
            name = "john" + PropertyService.getProperty("document.accNumSeparator") + serialNumber + PropertyService.getProperty("document.accNumSeparator")
281
                    + "1";
282
            debug("insert docid: " + name);
283
            String content = "<?xml version=\"1.0\"?>" + "<acl authSystem=\"knb\" order=\"allowFirst\">" + "<identifier>" + name + "</identifier>" + "<allow>"
284
                    + "<principal>" + user + "</principal>" + "<permission>all</permission>" + "</allow>" + "<allow>" + "<principal>public</principal>"
285
                    + "<permission>read</permission>" + "</allow>" + "</acl>";
286
            debug("xml document: " + content);
287
            assertTrue(handleXMLDocument(content, name, "insert"));
288
        } catch (PropertyNotFoundException pnfe) {
289
            fail("Could not find property: " + pnfe.getMessage());
290
        }
291
    }
292

  
293 293
	/**
294 294
	 * Test insert a non well-formed xml document successfully There is no
295 295
	 * </acl> in this string
296 296
	 */
297
	public void testInsertNonWellFormedXMLDocument() {
298
		debug("\nRunning: testInsertNonWellFormedXMLDocument test");
299
		String name = null;
300
		try {
301
			name = "john" + PropertyService.getProperty("document.accNumSeparator")
302
					+ serialNumber
303
					+ PropertyService.getProperty("document.accNumSeparator") + "1";
304
		} catch (PropertyNotFoundException pnfe) {
305
			fail("Could not find property: " + pnfe.getMessage());
306
		}
307
		debug("insert non well-formed docid: " + name);
308
		String content = "<?xml version=\"1.0\"?>"
309
				+ "<acl authSystem=\"knb\" order=\"allowFirst\">" + "<identifier>" + name
310
				+ "</identifier>" + "<allow>"
311
				+ "<principal>uid=john,o=NCEAS,dc=ecoinformatics,dc=org</principal>"
312
				+ "<permission>all</permission>" + "</allow>" + "<allow>"
313
				+ "<principal>public</principal>" + "<permission>read</permission>"
314
				+ "</allow>";
297
    public void testInsertNonWellFormedXMLDocument() {
298
        debug("\nRunning: testInsertNonWellFormedXMLDocument test");
299
        String name = null;
300
        try {
301
            String user = PropertyService.getProperty("test.mcUser");
302
            String passwd = PropertyService.getProperty("test.mcPassword");
315 303

  
316
		debug("xml document: " + content);
317
		assertTrue(!handleXMLDocument(content, name, "insert"));
318
	}
304
            name = "john" + PropertyService.getProperty("document.accNumSeparator") + serialNumber + PropertyService.getProperty("document.accNumSeparator")
305
                    + "1";
306
            debug("insert non well-formed docid: " + name);
307
            String content = "<?xml version=\"1.0\"?>" + "<acl authSystem=\"knb\" order=\"allowFirst\">" + "<identifier>" + name + "</identifier>" + "<allow>"
308
                    + "<principal>" + user + "</principal>" + "<permission>all</permission>" + "</allow>" + "<allow>" + "<principal>public</principal>"
309
                    + "<permission>read</permission>" + "</allow>";
319 310

  
311
            debug("xml document: " + content);
312
            assertTrue(!handleXMLDocument(content, name, "insert"));
313
        } catch (PropertyNotFoundException pnfe) {
314
            fail("Could not find property: " + pnfe.getMessage());
315
        }
316
    }
317

  
320 318
	/**
321 319
	 * Test read a xml document in xml format successfully
322 320
	 */
......
371 369
	/**
372 370
	 * Test insert a xml document successfully
373 371
	 */
374
	public void testUpdateXMLDocument() {
375
		debug("\nRunning: testUpdateXMLDocument test");
376
		String name = null;
377
		try {
378
			name = "john" + PropertyService.getProperty("document.accNumSeparator")
379
					+ serialNumber
380
					+ PropertyService.getProperty("document.accNumSeparator") + "2";
381
		} catch (PropertyNotFoundException pnfe) {
382
			fail("Could not find property: " + pnfe.getMessage());
383
		}
384
		debug("update docid: " + name);
385
		String content = "<?xml version=\"1.0\"?>"
386
				+ "<!DOCTYPE acl PUBLIC \"-//ecoinformatics.org//"
387
				+ "eml-access-2.0.0beta6//EN\" \"http://pine.nceas.ucsb."
388
				+ "edu:8080/tao/dtd/eml-access-2.0.0beta6.dtd\">"
389
				+ "<acl authSystem=\"knb\" order=\"allowFirst\">" + "<identifier>" + name
390
				+ "</identifier>" + "<allow>"
391
				+ "<principal>uid=john,o=NCEAS,dc=ecoinformatics,dc=org</principal>"
392
				+ "<permission>all</permission>" + "</allow>" + "<allow>"
393
				+ "<principal>public</principal>" + "<permission>read</permission>"
394
				+ "</allow>" + "</acl>";
395
		debug("xml document: " + content);
396
		assertTrue(handleXMLDocument(content, name, "update"));
372
    public void testUpdateXMLDocument() {
373
        debug("\nRunning: testUpdateXMLDocument test");
374
        String name = null;
375
        try {
376
            String user = PropertyService.getProperty("test.mcUser");
377
            String passwd = PropertyService.getProperty("test.mcPassword");
397 378

  
398
	}
379
            name = "john" + PropertyService.getProperty("document.accNumSeparator") + serialNumber + PropertyService.getProperty("document.accNumSeparator")
380
                    + "2";
381
            debug("update docid: " + name);
382
            String content = "<?xml version=\"1.0\"?>" + "<!DOCTYPE acl PUBLIC \"-//ecoinformatics.org//"
383
                    + "eml-access-2.0.0beta6//EN\" \"http://pine.nceas.ucsb." + "edu:8080/tao/dtd/eml-access-2.0.0beta6.dtd\">"
384
                    + "<acl authSystem=\"knb\" order=\"allowFirst\">" + "<identifier>" + name + "</identifier>" + "<allow>" + "<principal>" + user
385
                    + "</principal>" + "<permission>all</permission>" + "</allow>" + "<allow>" + "<principal>public</principal>"
386
                    + "<permission>read</permission>" + "</allow>" + "</acl>";
387
            debug("xml document: " + content);
388
            assertTrue(handleXMLDocument(content, name, "update"));
389
        } catch (PropertyNotFoundException pnfe) {
390
            fail("Could not find property: " + pnfe.getMessage());
391
        }
392
    }
399 393

  
400 394
	/**
401 395
	 * Test delete a xml document successfully
......
415 409

  
416 410
	}
417 411

  
418
  /**
419
   * Test to delete a document by GUID (not docid).  This exercises 
420
   * MetacatServlet.handleDeleteAction()'s handling of GUIDs.
421
   */
422
  public void testDeleteDocumentByGUID() {
423
    debug("\nRunning: testDeleteDocumentByGUID test");
424
    
425
    CrudServiceTest crudServiceTest = new CrudServiceTest("testDeleteDocumentByGUID");
426
    String guid = "";
427
    String user = "uid=john,o=NCEAS,dc=ecoinformatics,dc=org";
428
		String passwd = "123456";
429
		AuthToken token = null;
430
		String result = "";
431
    // create a document via the CRUD service to get a GUID
432
    try {
433
      token = crudServiceTest.getToken(user, passwd);
434
      String testDocument = crudServiceTest.getTestDoc();
435
      Identifier identifier = crudServiceTest.createDoc(token, testDocument);
436
      guid = identifier.getValue();
437
      
438
    } catch (Exception e) {
439
      fail("Could not create test document to delete: " + e.getMessage());
440
      
412
    /**
413
     * Test to delete a document by GUID (not docid).  This exercises 
414
     * MetacatServlet.handleDeleteAction()'s handling of GUIDs.
415
     */
416
    public void testDeleteDocumentByGUID() {
417
        debug("\nRunning: testDeleteDocumentByGUID test");
418

  
419
        try {
420
            String user = PropertyService.getProperty("test.mcUser");
421
            String passwd = PropertyService.getProperty("test.mcPassword");
422
            
423
            CrudServiceTest crudServiceTest = new CrudServiceTest("testDeleteDocumentByGUID");
424
            String guid = "";
425
            AuthToken token = null;
426
            String result = "";
427
            // create a document via the CRUD service to get a GUID
428
            try {
429
                token = crudServiceTest.getToken(user, passwd);
430
                String testDocument = crudServiceTest.getTestDoc();
431
                Identifier identifier = crudServiceTest.createDoc(token, testDocument);
432
                guid = identifier.getValue();
433
            } catch (Exception e) {
434
                fail("Could not create test document to delete: " + e.getMessage());
435
            }
436

  
437
            // delete the document via the Metacat servlet with the GUID
438
            try {
439
                Properties props = new Properties();
440
                props.put("action", "delete");
441
                props.put("docid", guid);
442
                props.put("sessionid", token.getToken());
443
                debug("Trying to delete by GUID: " + guid);
444
                result = getMetacatString(props);
445
            } catch (Exception e) {
446
                fail("Couldn't delete GUID: " + guid);
447
            }
448
            assertTrue(result.indexOf("<success>") > 0);
449
        } catch (PropertyNotFoundException pnfe) {
450
            fail("Could not find property: " + pnfe.getMessage());
451
        }
441 452
    }
442 453
    
443
    // delete the document via the Metacat servlet with the GUID
444
    try {
445
      Properties props = new Properties();
446
      props.put("action", "delete");
447
      props.put("docid", guid);
448
      props.put("sessionid", token.getToken());
449
      debug("Trying to delete by GUID: " + guid);
450
      result = getMetacatString(props);
451
        
452
    } catch ( Exception e ) {
453
      fail("Couldn't delete GUID: " + guid);
454
        
455
    }
456
    
457
    assertTrue(result.indexOf("<success>") > 0);
458
    
459
  }
460 454
	/**
461 455
	 * Test logout action
462 456
	 */

Also available in: Unified diff