private static boolean includeProject(Project project, String[] filters) { if (filters == null) { return true; } for (String filter : filters) { String[] filterEntry = filter.toLowerCase().split(":"); String filterType = filterEntry[0]; if ("id".equals(filterType)) { if (!satisfiesFilter(project.getProjectId(), filterEntry[1])) { return false; } } else if ("name".equals(filterType)) { if (!satisfiesFilter(project.getName(), filterEntry[1])) { return false; } } else if (filterType.startsWith("labels.")) { String labelKey = filterType.substring("labels.".length()); if (project.getLabels() != null) { String labelValue = project.getLabels().get(labelKey); if (!satisfiesFilter(labelValue, filterEntry[1])) { return false; } } } } return true; }
if (project.getLabels() != null) { if (project.getLabels().size() > 256) { return "Project " + project.getProjectId() + " exceeds the limit of 256 labels."; for (Map.Entry<String, String> entry : project.getLabels().entrySet()) { if (!isValidIdOrLabel(entry.getKey(), 1, 63) || !isValidIdOrLabel(entry.getValue(), 0, 63)) {
private void compareReadWriteFields( com.google.api.services.cloudresourcemanager.model.Project expected, com.google.api.services.cloudresourcemanager.model.Project actual) { assertEquals(expected.getProjectId(), actual.getProjectId()); assertEquals(expected.getName(), actual.getName()); assertEquals(expected.getLabels(), actual.getLabels()); assertEquals(expected.getParent(), actual.getParent()); } }
static ProjectInfo fromPb(com.google.api.services.cloudresourcemanager.model.Project projectPb) { Builder builder = newBuilder(projectPb.getProjectId()).setProjectNumber(projectPb.getProjectNumber()); if (projectPb.getName() != null && !projectPb.getName().equals("Unnamed")) { builder.setName(projectPb.getName()); } if (projectPb.getLabels() != null) { builder.setLabels(projectPb.getLabels()); } if (projectPb.getLifecycleState() != null) { builder.setState(State.valueOf(projectPb.getLifecycleState())); } if (projectPb.getCreateTime() != null) { builder.setCreateTimeMillis( DATE_TIME_FORMATTER.parse(projectPb.getCreateTime(), Instant.FROM).toEpochMilli()); } if (projectPb.getParent() != null) { builder.setParent(ResourceId.fromPb(projectPb.getParent())); } return builder.build(); } }
private static com.google.api.services.cloudresourcemanager.model.Project copyFrom( com.google.api.services.cloudresourcemanager.model.Project from) { return new com.google.api.services.cloudresourcemanager.model.Project() .setProjectId(from.getProjectId()) .setName(from.getName()) .setLabels(from.getLabels() != null ? ImmutableMap.copyOf(from.getLabels()) : null) .setProjectNumber(from.getProjectNumber()) .setCreateTime(from.getCreateTime()) .setLifecycleState(from.getLifecycleState()) .setParent(from.getParent() != null ? from.getParent().clone() : null); }
@Test public void testListFieldOptions() { Map<ResourceManagerRpc.Option, Object> rpcOptions = new HashMap<>(); rpcOptions.put( ResourceManagerRpc.Option.FIELDS, "projects(projectId,name,labels),nextPageToken"); rpc.create(PROJECT_WITH_PARENT); Tuple<String, Iterable<com.google.api.services.cloudresourcemanager.model.Project>> projects = rpc.list(rpcOptions); com.google.api.services.cloudresourcemanager.model.Project returnedProject = projects.y().iterator().next(); assertFalse(PROJECT_WITH_PARENT.equals(returnedProject)); assertEquals(PROJECT_WITH_PARENT.getProjectId(), returnedProject.getProjectId()); assertEquals(PROJECT_WITH_PARENT.getName(), returnedProject.getName()); assertEquals(PROJECT_WITH_PARENT.getLabels(), returnedProject.getLabels()); assertNull(returnedProject.getParent()); assertNull(returnedProject.getProjectNumber()); assertNull(returnedProject.getLifecycleState()); assertNull(returnedProject.getCreateTime()); }
rpc.create(project); assertNotNull(rpc.get(project.getProjectId(), EMPTY_RPC_OPTIONS)); assertTrue(rpc.get(project.getProjectId(), EMPTY_RPC_OPTIONS).getLabels().get("k-1").isEmpty());
@Test public void testListNoPageTokenFieldOptions() { Map<ResourceManagerRpc.Option, Object> rpcOptions = new HashMap<>(); rpcOptions.put(ResourceManagerRpc.Option.PAGE_SIZE, 1); rpcOptions.put(ResourceManagerRpc.Option.FIELDS, "projects(projectId,name)"); rpc.create(PARTIAL_PROJECT); rpc.create(COMPLETE_PROJECT); Tuple<String, Iterable<com.google.api.services.cloudresourcemanager.model.Project>> projects = rpc.list(rpcOptions); assertNull(projects.x()); Iterator<com.google.api.services.cloudresourcemanager.model.Project> iterator = projects.y().iterator(); com.google.api.services.cloudresourcemanager.model.Project returnedProject = iterator.next(); assertEquals(COMPLETE_PROJECT.getProjectId(), returnedProject.getProjectId()); assertEquals(COMPLETE_PROJECT.getName(), returnedProject.getName()); assertNull(returnedProject.getLabels()); assertNull(returnedProject.getParent()); assertNull(returnedProject.getProjectNumber()); assertNull(returnedProject.getLifecycleState()); assertNull(returnedProject.getCreateTime()); assertFalse(iterator.hasNext()); }
break; case "labels": project.setLabels(fullProject.getLabels()); break; case "lifecycleState":
assertEquals(COMPLETE_PROJECT.getProjectId(), returnedProject.getProjectId()); assertEquals(COMPLETE_PROJECT.getName(), returnedProject.getName()); assertNull(returnedProject.getLabels()); assertNull(returnedProject.getParent()); assertNull(returnedProject.getProjectNumber()); assertEquals(PARTIAL_PROJECT.getProjectId(), returnedProject.getProjectId()); assertEquals(PARTIAL_PROJECT.getName(), returnedProject.getName()); assertNull(returnedProject.getLabels()); assertNull(returnedProject.getParent()); assertNull(returnedProject.getProjectNumber());
@Test public void testGetWithOptions() { com.google.api.services.cloudresourcemanager.model.Project originalProject = rpc.create(COMPLETE_PROJECT); Map<ResourceManagerRpc.Option, Object> rpcOptions = new HashMap<>(); rpcOptions.put(ResourceManagerRpc.Option.FIELDS, "projectId,name,createTime"); com.google.api.services.cloudresourcemanager.model.Project returnedProject = rpc.get(COMPLETE_PROJECT.getProjectId(), rpcOptions); assertFalse(COMPLETE_PROJECT.equals(returnedProject)); assertEquals(COMPLETE_PROJECT.getProjectId(), returnedProject.getProjectId()); assertEquals(COMPLETE_PROJECT.getName(), returnedProject.getName()); assertEquals(originalProject.getCreateTime(), returnedProject.getCreateTime()); assertNull(returnedProject.getParent()); assertNull(returnedProject.getProjectNumber()); assertNull(returnedProject.getLifecycleState()); assertNull(returnedProject.getLabels()); }
compareReadWriteFields(PARTIAL_PROJECT, returnedProject); assertEquals("ACTIVE", returnedProject.getLifecycleState()); assertNull(returnedProject.getLabels()); assertNull(returnedProject.getName()); assertNull(returnedProject.getParent());
private static boolean includeProject(Project project, String[] filters) { if (filters == null) { return true; } for (String filter : filters) { String[] filterEntry = filter.toLowerCase().split(":"); String filterType = filterEntry[0]; if ("id".equals(filterType)) { if (!satisfiesFilter(project.getProjectId(), filterEntry[1])) { return false; } } else if ("name".equals(filterType)) { if (!satisfiesFilter(project.getName(), filterEntry[1])) { return false; } } else if (filterType.startsWith("labels.")) { String labelKey = filterType.substring("labels.".length()); if (project.getLabels() != null) { String labelValue = project.getLabels().get(labelKey); if (!satisfiesFilter(labelValue, filterEntry[1])) { return false; } } } } return true; }
private static boolean includeProject(Project project, String[] filters) { if (filters == null) { return true; } for (String filter : filters) { String[] filterEntry = filter.toLowerCase().split(":"); String filterType = filterEntry[0]; if ("id".equals(filterType)) { if (!satisfiesFilter(project.getProjectId(), filterEntry[1])) { return false; } } else if ("name".equals(filterType)) { if (!satisfiesFilter(project.getName(), filterEntry[1])) { return false; } } else if (filterType.startsWith("labels.")) { String labelKey = filterType.substring("labels.".length()); if (project.getLabels() != null) { String labelValue = project.getLabels().get(labelKey); if (!satisfiesFilter(labelValue, filterEntry[1])) { return false; } } } } return true; }
if (project.getLabels() != null) { if (project.getLabels().size() > 256) { return "Project " + project.getProjectId() + " exceeds the limit of 256 labels."; for (Map.Entry<String, String> entry : project.getLabels().entrySet()) { if (!isValidIdOrLabel(entry.getKey(), 1, 63) || !isValidIdOrLabel(entry.getValue(), 0, 63)) {
if (project.getLabels() != null) { if (project.getLabels().size() > 256) { return "Project " + project.getProjectId() + " exceeds the limit of 256 labels."; for (Map.Entry<String, String> entry : project.getLabels().entrySet()) { if (!isValidIdOrLabel(entry.getKey(), 1, 63) || !isValidIdOrLabel(entry.getValue(), 0, 63)) {
static ProjectInfo fromPb(com.google.api.services.cloudresourcemanager.model.Project projectPb) { Builder builder = builder(projectPb.getProjectId()).projectNumber(projectPb.getProjectNumber()); if (projectPb.getName() != null && !projectPb.getName().equals("Unnamed")) { builder.name(projectPb.getName()); } if (projectPb.getLabels() != null) { builder.labels(projectPb.getLabels()); } if (projectPb.getLifecycleState() != null) { builder.state(State.valueOf(projectPb.getLifecycleState())); } if (projectPb.getCreateTime() != null) { builder.createTimeMillis(DateTime.parse(projectPb.getCreateTime()).getMillis()); } if (projectPb.getParent() != null) { builder.parent(ResourceId.fromPb(projectPb.getParent())); } return builder.build(); } }
static ProjectInfo fromPb(com.google.api.services.cloudresourcemanager.model.Project projectPb) { Builder builder = builder(projectPb.getProjectId()).projectNumber(projectPb.getProjectNumber()); if (projectPb.getName() != null && !projectPb.getName().equals("Unnamed")) { builder.name(projectPb.getName()); } if (projectPb.getLabels() != null) { builder.labels(projectPb.getLabels()); } if (projectPb.getLifecycleState() != null) { builder.state(State.valueOf(projectPb.getLifecycleState())); } if (projectPb.getCreateTime() != null) { builder.createTimeMillis(DateTime.parse(projectPb.getCreateTime()).getMillis()); } if (projectPb.getParent() != null) { builder.parent(ResourceId.fromPb(projectPb.getParent())); } return builder.build(); } }
break; case "labels": project.setLabels(fullProject.getLabels()); break; case "lifecycleState":
break; case "labels": project.setLabels(fullProject.getLabels()); break; case "lifecycleState":