Thanks for providing the test case. I forwarded your report to the engineering team so they are aware of this issue.
On Mon, May 2, 2011 at 10:15 PM, Sonya Adams <[email protected]> wrote: > Hi Johan, > > The issue is local to the account. I created a second account with an empty > calendar to test against, and the same issue does not appear. > > Below is the MSTest class I used, with several test cases. You may note that > the test class subclasses another class, but only to gain easy access to the > testing config class used by all my test classes. Other users should be able > to revise this code easily to suit their own testing environment. > > Interestingly, the errors aren't 100% consistent. Two hours ago when I ran > this against the problematic account, both Update and Delete generated the > 500 error, but querying the event by its ID did not. 10 minutes ago when I > ran the tests multiple times, Updating and querying got an error, but > Deleting did not. Now all three test methods experience the error. I run > each of the test methods separately (i.e. not in the same test run), so > there should be absolutely no dependency between them to cause this change > in behaviour. > > If at all possible, I would like to know if there is a solution to this > problem that does not require migrating all of the calendars' contents over > to an entirely new account! > > Thanks, > S > > > using System; > using System.Text; > using System.Collections.Generic; > using System.Linq; > using Microsoft.VisualStudio.TestTools.UnitTesting; > > using Google.GData.Calendar; > using Google.GData.Client; > using Google.GData.Extensions; > using Google.GData.AccessControl; > > > namespace TrainingTest.Handlers.Calendar > { > /// <summary> > /// GoogleCalendarAPIEventsTest exists exclusively to troubleshoot > Internal Server (500) Errors that > /// the google server is returning increasingly frequently when trying > to update events in calendars > /// belonging to the Training System. > /// </summary> > [TestClass] > public class GoogleCalendarAPIEventsTest : TestClass > { > private CalendarService CalService; > private string ServiceName = "test_TrainingSystem_CalendarEvents"; > private string Username > { > get > { > return Config.CalendarUserName; > } > } > private string Password > { > get > { > return Config.CalendarPassword; > } > } > private string TestCalendarId > { > get > { > return Config.TestCalendarId; > } > } > > /// <summary> > /// Gets the service that connects to google calendar > /// </summary> > private CalendarService Service > { > get > { > if (CalService == null) > { > CalService = new CalendarService(ServiceName); > CalService.setUserCredentials(Username, Password); > } > > return CalService; > } > } > > > public GoogleCalendarAPIEventsTest() > { > } > > private TestContext testContextInstance; > > /// <summary> > ///Gets or sets the test context which provides > ///information about and functionality for the current test run. > ///</summary> > public TestContext TestContext > { > get > { > return testContextInstance; > } > set > { > testContextInstance = value; > } > } > > > [TestMethod] > public void TestUpdateCalendarEvent() > { > EventEntry newEntry = CreateTestEvent("EVENT TO UPDATE", "event > description", "event location"); > > // UPDATE THE EVENT > newEntry.Title = new > AtomTextConstruct(AtomTextConstructElementType.Title, "updated event > title"); > newEntry.Update(); // Internal Server Error (500) > } > > [TestMethod] > public void TestDeleteCalendarEvent() > { > EventEntry newEntry = CreateTestEvent("EVENT TO DELETE", "event > to be deleted", "event location"); > > // DELETE THE EVENT > newEntry.Delete(); // Internal Server Error (500) > } > > [TestMethod] > public void TestQueryCalendarEventByID() > { > EventEntry newEntry = CreateTestEvent("EVENT TO QUERY", "event > to query by id", "location"); > > // QUERY FOR THE EVENT > string eventUri = > string.Format("http://www.google.com/calendar/feeds/{0}/private/full/{1}", > TestCalendarId, newEntry.EventId); > > EventEntry queryEntry = (EventEntry)Service.Get(eventUri); // > Internal Server Error (500) > > Assert.IsNotNull(queryEntry); > } > > private EventEntry CreateTestEvent(string eventTitle, string > eventSummary, string eventLocation) > { > string calendarUri = > string.Format("http://www.google.com/calendar/feeds/{0}/private/full", > TestCalendarId); > > EventQuery query = new EventQuery(calendarUri); > EventFeed feed = Service.Query(query); > > EventEntry entry = new EventEntry(eventTitle, eventSummary, > eventLocation); > > entry.Times.Clear(); > entry.Times.Add(new Google.GData.Extensions.When > { > StartTime = DateTime.Now.AddHours(1), > EndTime = DateTime.Now.AddHours(2) > }); > > return feed.Insert(entry); > } > } > } > > > -- > You received this message because you are subscribed to the Google > Groups "Google Calendar Data API" group. > To post to this group, send email to > [email protected] > To unsubscribe from this group, send email to > [email protected] > For more options, visit this group at > http://code.google.com/apis/calendar/community/forum.html > -- Johan Euphrosine (proppy) Developer Programs Engineer Google Developer Relations -- You received this message because you are subscribed to the Google Groups "Google Calendar Data API" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://code.google.com/apis/calendar/community/forum.html
