Project

General

Profile

« Previous | Next » 

Revision 9998

Added by Jing Tao over 7 years ago

Add the junit test code to test the method expanding the rights holder as a group.

View differences:

D1NodeServiceTest.java
64 64
import edu.ucsb.nceas.MCTestCase;
65 65
import edu.ucsb.nceas.metacat.client.Metacat;
66 66
import edu.ucsb.nceas.metacat.client.MetacatFactory;
67
import edu.ucsb.nceas.metacat.dataone.D1NodeService;
67 68

  
68 69
/**
69 70
 * A JUnit superclass for testing the dataone Node implementations
......
85 86
    {
86 87
        TestSuite suite = new TestSuite();
87 88
        suite.addTest(new D1NodeServiceTest("initialize"));
89
        suite.addTest(new D1NodeServiceTest("testExpandRighsHolder"));
88 90
        return suite;
89 91
    }
90 92
    
......
117 119
		D1Client.setNodeLocator(null);
118 120
	}
119 121
	
122
	public void testExpandRighsHolder() throws Exception {
123
	     // set back to force it to use defaults
124
          D1Client.setNodeLocator(null);
125
	      Subject rightsHolder = new Subject();
126
	      rightsHolder.setValue("CN=arctic-data-admins,DC=dataone,DC=org");
127
	      Subject user = new Subject();
128
	      
129
	      user.setValue("CN=Christopher Jones A2108,O=Google,C=US,DC=cilogon,DC=org");
130
	      assertTrue(D1NodeService.expandRightsHolder(rightsHolder, user));
131
	      
132
	      user.setValue("uid=foo");
133
	      assertTrue(!D1NodeService.expandRightsHolder(rightsHolder, user));
134
	      
135
	      user.setValue("http://orcid.org/0000-0002-1586-0121");
136
	      assertTrue(D1NodeService.expandRightsHolder(rightsHolder, user));
137
	      
138
	      rightsHolder.setValue("CN=foo,,DC=dataone,DC=org");
139
	      assertTrue(!D1NodeService.expandRightsHolder(rightsHolder, user));
140
	      
141
	      user.setValue("uid=foo");
142
          assertTrue(!D1NodeService.expandRightsHolder(rightsHolder, user));
143
          
144
          rightsHolder.setValue(null);
145
          assertTrue(!D1NodeService.expandRightsHolder(rightsHolder, user));
146
          
147
          rightsHolder.setValue("CN=foo,,DC=dataone,DC=org");
148
          user.setValue(null);
149
          assertTrue(!D1NodeService.expandRightsHolder(rightsHolder, user));
150
          
151
          rightsHolder.setValue(null);
152
          assertTrue(!D1NodeService.expandRightsHolder(rightsHolder, user));
153
          
154
          rightsHolder.setValue("");
155
          user.setValue("");
156
          assertTrue(!D1NodeService.expandRightsHolder(rightsHolder, user));
157
          NodeLocator nodeLocator = new NodeLocator() {
158
              @Override
159
              public D1Node getCNode() throws ClientSideException {
160
                  D1Node node = null;
161
                  try {
162
                      node = new MockCNode();
163
                  } catch (IOException e) {
164
                      throw new ClientSideException(e.getMessage());
165
                  }
166
                  return node;
167
              }
168
          };
169
          D1Client.setNodeLocator(nodeLocator );
170
	  }
171
	
120 172
	/**
121 173
	 * constructs a "fake" session with a test subject
122 174
	 * @return

Also available in: Unified diff