@@ -125,7 +125,7 @@ public void parseResourceNames_messageResourceDefinition() {
125125 List <Descriptor > messageDescriptors = lockerServiceFileDescriptor .getMessageTypes ();
126126 Map <String , ResourceName > typeStringsToResourceNames =
127127 ResourceNameParser .parseResourceNamesFromMessages (messageDescriptors , pakkage );
128- assertEquals (1 , typeStringsToResourceNames .size ());
128+ assertEquals (2 , typeStringsToResourceNames .size ());
129129
130130 ResourceName resourceName = typeStringsToResourceNames .get ("testgapic.googleapis.com/Document" );
131131 assertEquals (2 , resourceName .patterns ().size ());
@@ -140,7 +140,31 @@ public void parseResourceNames_messageResourceDefinition() {
140140 }
141141
142142 @ Test
143- public void parseResourceNames_messageWithoutResourceDefinition () {
143+ public void parseResourceNames_badMessageResourceNameDefinitionMissingNameField () {
144+ FileDescriptor protoFileDescriptor = BadMessageResnameDefProto .getDescriptor ();
145+ List <Descriptor > messageDescriptors = protoFileDescriptor .getMessageTypes ();
146+ Descriptor messageDescriptor = messageDescriptors .get (0 );
147+ String pakkage = TypeParser .getPackage (protoFileDescriptor );
148+
149+ assertThrows (
150+ IllegalStateException .class ,
151+ () -> ResourceNameParser .parseResourceNameFromMessageType (messageDescriptor , pakkage ));
152+ }
153+
154+ @ Test
155+ public void parseResourceNameFromMessage_basicResourceDefinition () {
156+ String pakkage = TypeParser .getPackage (lockerServiceFileDescriptor );
157+ List <Descriptor > messageDescriptors = lockerServiceFileDescriptor .getMessageTypes ();
158+ Descriptor documentMessageDescriptor = messageDescriptors .get (0 );
159+ assertEquals ("Document" , documentMessageDescriptor .getName ());
160+ Optional <ResourceName > resourceNameOpt =
161+ ResourceNameParser .parseResourceNameFromMessageType (documentMessageDescriptor , pakkage );
162+ assertTrue (resourceNameOpt .isPresent ());
163+ assertEquals ("testgapic.googleapis.com/Document" , resourceNameOpt .get ().resourceTypeString ());
164+ }
165+
166+ @ Test
167+ public void parseResourceNamesFromMessage_noResourceDefinition () {
144168 String pakkage = TypeParser .getPackage (lockerServiceFileDescriptor );
145169 List <Descriptor > messageDescriptors = lockerServiceFileDescriptor .getMessageTypes ();
146170 Descriptor folderMessageDescriptor = messageDescriptors .get (1 );
@@ -151,15 +175,28 @@ public void parseResourceNames_messageWithoutResourceDefinition() {
151175 }
152176
153177 @ Test
154- public void parseResourceNames_badMessageResourceNameDefinitionMissingNameField () {
178+ public void parseResourceNameFromMessage_nonNameResourceReferenceField () {
179+ String pakkage = TypeParser .getPackage (lockerServiceFileDescriptor );
180+ List <Descriptor > messageDescriptors = lockerServiceFileDescriptor .getMessageTypes ();
181+ Descriptor binderMessageDescriptor = messageDescriptors .get (2 );
182+ assertEquals ("Binder" , binderMessageDescriptor .getName ());
183+ Optional <ResourceName > resourceNameOpt =
184+ ResourceNameParser .parseResourceNameFromMessageType (binderMessageDescriptor , pakkage );
185+ assertTrue (resourceNameOpt .isPresent ());
186+ assertEquals ("testgapic.googleapis.com/Binder" , resourceNameOpt .get ().resourceTypeString ());
187+ }
188+
189+ @ Test
190+ public void parseResourceNamesFromMessage_noNameOrResourceReferenceField () {
155191 FileDescriptor protoFileDescriptor = BadMessageResnameDefProto .getDescriptor ();
156- List <Descriptor > messageDescriptors = protoFileDescriptor .getMessageTypes ();
157- Descriptor messageDescriptor = messageDescriptors .get (0 );
158192 String pakkage = TypeParser .getPackage (protoFileDescriptor );
159-
193+ List <Descriptor > messageDescriptors = protoFileDescriptor .getMessageTypes ();
194+ Descriptor pencilMessageDescriptor = messageDescriptors .get (1 );
195+ assertEquals ("Pencil" , pencilMessageDescriptor .getName ());
160196 assertThrows (
161- NullPointerException .class ,
162- () -> ResourceNameParser .parseResourceNameFromMessageType (messageDescriptor , pakkage ));
197+ IllegalStateException .class ,
198+ () ->
199+ ResourceNameParser .parseResourceNameFromMessageType (pencilMessageDescriptor , pakkage ));
163200 }
164201
165202 @ Test
0 commit comments