use of com.google.api.services.clouddebugger.v2.Clouddebugger.Debugger in project google-cloud-intellij by GoogleCloudPlatform.
the class CloudDebugProcessStateTest method testFirstSync.
public void testFirstSync() throws IOException {
List<Breakpoint> returnedBreakpoints = new ArrayList<Breakpoint>();
returnedBreakpoints.add(createBreakpoint("bp1", Boolean.TRUE, 1000, "com/google/ex1.java", 15, null, null));
returnedBreakpoints.add(createBreakpoint("bp2", Boolean.TRUE, 2000, "com/google/ex1.java", 15, null, null));
returnedBreakpoints.add(createBreakpoint("bp3", Boolean.TRUE, 2200, "com/google/ex1.java", 15, Boolean.TRUE, "foo!"));
returnedBreakpoints.add(createBreakpoint("bp4", Boolean.FALSE, 0, "com/google/ex2.java", 12, null, null));
returnedBreakpoints.add(createBreakpoint("bp5", Boolean.FALSE, 0, "com/google/ex1.java", 15, null, null));
returnedBreakpoints.add(createBreakpoint("bp6", null, 0, "com/google/ex1.java", 16, null, null));
returnedBreakpoints.add(createBreakpoint("bp7", Boolean.FALSE, 0, "com/google/ex1.java", 17, null, null));
returnedBreakpoints.add(createBreakpoint("bp8", Boolean.FALSE, 0, "com/google/ex3.java", 18, null, null));
Debugger client = createMockClient(returnedBreakpoints);
CloudDebugProcessState state = new CloudDebugProcessState(USER, DEBUGEE_ID, PROJECT_NAME, PROJECT_NUMBER, null);
assertEquals(USER, state.getUserEmail());
// Danger: static global state
CloudDebuggerClient.setClient(state.getUserEmail() + 120000, client);
CloudDebugProcessStateController controller = new CloudDebugProcessStateController();
controller.initialize(state);
verify(client.debuggees().breakpoints().list(DEBUGEE_ID), times(1)).setIncludeInactive(Boolean.TRUE);
List<Breakpoint> currentList = state.getCurrentServerBreakpointList();
assertNotEmpty(currentList);
// verifies the sort order...
assertTrue(verifyList(currentList, "bp5", "bp6", "bp7", "bp4", "bp8", "bp3", "bp2", "bp1"));
}
use of com.google.api.services.clouddebugger.v2.Clouddebugger.Debugger in project google-cloud-intellij by GoogleCloudPlatform.
the class CloudDebuggerClientTest method testUserAgent.
@Test
public void testUserAgent() throws IOException {
when(mockInfoService.getUserAgent()).thenReturn("userAgent");
Debugger client = CloudDebuggerClient.getLongTimeoutClient("foo@example.com");
HttpRequest httpRequest = client.debuggees().list().buildHttpRequestUsingHead();
HttpHeaders headers = httpRequest.getHeaders();
String userAgent = headers.getUserAgent();
Assert.assertTrue(userAgent.startsWith("userAgent"));
Assert.assertTrue(userAgent.endsWith("Google-API-Java-Client"));
}
use of com.google.api.services.clouddebugger.v2.Clouddebugger.Debugger in project google-cloud-intellij by GoogleCloudPlatform.
the class CloudDebuggerClientTest method testGetShortTimeoutClient_fromUserEmail.
@Test
public void testGetShortTimeoutClient_fromUserEmail() {
Debugger client = CloudDebuggerClient.getShortTimeoutClient("foo@example.com");
Assert.assertNotNull(client.debuggees().breakpoints());
}
use of com.google.api.services.clouddebugger.v2.Clouddebugger.Debugger in project google-cloud-intellij by GoogleCloudPlatform.
the class ProjectDebuggeeBinding method refreshDebugTargetList.
/**
* Refreshes the list of attachable debug targets based on the project selection.
*/
@SuppressWarnings("FutureReturnValueIgnored")
private void refreshDebugTargetList(CloudProject cloudProject) {
targetSelector.removeAllItems();
ApplicationManager.getApplication().executeOnPooledThread(() -> {
try {
String projectNumber = Optional.ofNullable(cloudProject.projectNumber()).map(Object::toString).orElse(null);
if (projectNumber != null && getCloudDebuggerClient() != null) {
final ListDebuggeesResponse debuggees = getCloudDebuggerClient().debuggees().list().setProject(projectNumber).setClientVersion(ServiceManager.getService(PluginInfoService.class).getClientVersionForCloudDebugger()).execute();
isCdbQueried = true;
SwingUtilities.invokeLater(() -> {
DebugTarget targetSelection = null;
if (debuggees == null || debuggees.getDebuggees() == null || debuggees.getDebuggees().isEmpty()) {
disableTargetSelector(GctBundle.getString("clouddebug.nomodulesfound"));
} else {
targetSelector.setEnabled(true);
Map<String, DebugTarget> perModuleCache = new HashMap<>();
for (Debuggee debuggee : debuggees.getDebuggees()) {
DebugTarget item = new DebugTarget(debuggee, cloudProject.projectId());
if (!Strings.isNullOrEmpty(item.getModule()) && !Strings.isNullOrEmpty(item.getVersion())) {
// If we already have an existing item for that module+version,
// compare the minor versions and only use the latest minor version.
String key = String.format("%s:%s", item.getModule(), item.getVersion());
DebugTarget existing = perModuleCache.get(key);
if (existing != null && existing.getMinorVersion() > item.getMinorVersion()) {
continue;
}
if (existing != null) {
targetSelector.removeItem(existing);
}
perModuleCache.put(key, item);
}
if (inputState != null && !Strings.isNullOrEmpty(inputState.getDebuggeeId())) {
if (inputState.getDebuggeeId().equals(item.getId())) {
targetSelection = item;
}
}
targetSelector.addItem(item);
okAction.setEnabled(true);
}
}
if (targetSelection != null) {
targetSelector.setSelectedItem(targetSelection);
}
});
}
} catch (final IOException ex) {
SwingUtilities.invokeLater(() -> disableTargetSelector(ex));
LOG.warn("Error listing debuggees from Cloud Debugger API", ex);
}
});
}
Aggregations