protected MessageType getOuterMessage() { return proto.getMessages().get(0); }
/** * For each ProtoFile dependency, put its TypeAlias in allTypeTable; and if it is a local import, * then put it in the given localImportNames, otherwise if it is a shared import, but it in the * given sharedImportNames. */ private void populateTypeTable( Iterable<ProtoFile> protoFileDependencies, ModelTypeTable allTypeTable, Set<String> localImportNames, Set<String> sharedImportNames, Collection<ProtoFile> localImportFiles) { for (ProtoFile protoFile : protoFileDependencies) { // For python, adding a single message from the proto file to the type table will populate // the type table with the correct imports. ImmutableList<MessageType> messages = protoFile.getMessages(); if (!messages.isEmpty()) { TypeRef typeRef = TypeRef.of(messages.get(0)); allTypeTable.getAndSaveNicknameFor(typeRef); if (localImportFiles .stream() .anyMatch(f -> f.getFullName().equals(protoFile.getFullName()))) { localImportNames.add(allTypeTable.getFullNameFor(typeRef)); } else { sharedImportNames.add(allTypeTable.getFullNameFor(typeRef)); } } } }
@Test public void testGetEmptyResource() { MessageType book = libraryProtoFile .getMessages() .stream() .filter(m -> m.getSimpleName().equals("Book")) .findFirst() .get(); Field authorBookField = book.getFields().stream().filter(f -> f.getSimpleName().equals("author")).findFirst().get(); assertThat(protoParser.getResource(authorBookField)).isNull(); }
@Test public void smokeTestApiConstruction() { Assert.assertEquals(1, testModel.getFiles().size()); ProtoFile file = testModel.getFiles().get(0); Assert.assertEquals(2, file.getMessages().size()); Assert.assertEquals(1, file.getEnums().size()); Assert.assertEquals(3, file.getMessages().get(0).getFields().size()); Assert.assertEquals(1, file.getMessages().get(1).getMessages().size()); Assert.assertEquals(1, file.getInterfaces().size()); }
for (MessageType message : protoFile.getMessages()) { ResourceNameMessageConfig resourceNameMessageConfig = ResourceNameMessageConfig.createResourceNameMessageConfig( if (!seenProtoFiles.contains(protoFile.getSimpleName())) { seenProtoFiles.add(protoFile.getSimpleName()); for (MessageType msg : protoFile.getMessages()) { ResourceNameMessageConfig messageConfig = messageResourceTypeConfigMap.get(msg.getFullName());
@Test public void testGetResourceType() { MessageType getShelfRequest = libraryProtoFile .getMessages() .stream() .filter(m -> m.getSimpleName().equals("GetShelfRequest")) .findFirst() .get(); Field shelves = getShelfRequest .getFields() .stream() .filter(f -> f.getSimpleName().equals("name")) .findFirst() .get(); String shelfType = protoParser.getResourceReference(shelves); assertThat(shelfType).isEqualTo("Shelf"); }
@Test public void testGetResourceTypeEntityNameFromOneof() { MessageType getBookFromAnywhereRequest = libraryProtoFile .getMessages() .stream() .filter(m -> m.getSimpleName().equals("GetBookFromAnywhereRequest")) .findFirst() .get(); Field nameField = getBookFromAnywhereRequest .getFields() .stream() .filter(f -> f.getSimpleName().equals("name")) .findFirst() .get(); assertThat(protoParser.getResourceReferenceName(nameField, resourceDefs, resourceSetDefs)) .isEqualTo("BookOneOf"); Field altBookNameField = getBookFromAnywhereRequest .getFields() .stream() .filter(f -> f.getSimpleName().equals("alt_book_name")) .findFirst() .get(); assertThat( protoParser.getResourceReferenceName(altBookNameField, resourceDefs, resourceSetDefs)) .isEqualTo("Book"); }
for (MessageType message : protoFile.getMessages()) { for (Field field : message.getFields()) { T definition = getProtoExtension(field, fieldExtension);
.getMessages() .stream() .filter(m -> m.getSimpleName().equals("Shelf")) .getMessages() .stream() .filter(m -> m.getSimpleName().equals("Book"))
Mockito.when(protoFile.getMessages()).thenReturn(ImmutableList.of(bookMessage, shelfMessage));