public void View_WithEmptyString_ThrowException()
 {
     adminsClient.View(String.Empty);
 }
예제 #2
0
 public void View_WithEmptyString_ThrowException()
 {
     Assert.Throws <ArgumentNullException>(() => adminsClient.View(String.Empty));
 }
예제 #3
0
        internal IntercomUser GetIntercomUser(GenericIntercomUser genericUser)
        {
            if (!userList.ContainsKey(genericUser.Id))
            {
                IntercomUser newUser;
                switch (genericUser.Type)
                {
                case "admin":
                    Admin admin;
                    try
                    {
                        logger.Trace("Downloading admin from Intercom: " + genericUser.Id);
                        admin   = adminsClient.View(genericUser.Id);
                        newUser = new IntercomUser(admin);
                    }
                    catch (Intercom.Exceptions.ApiException e)
                    {
                        if (e.StatusCode == 404)
                        {
                            logger.Trace("Admin request returned 404 for: " + genericUser.Id);
                            newUser = new IntercomUser()
                            {
                                Id    = genericUser.Id,
                                Type  = genericUser.Type,
                                Name  = "Non-existing admin",
                                Email = ""
                            };
                        }
                        else
                        {
                            logger.Error(e, "Couldn't download admin from Intercom.");
                            throw e;
                        }
                    }
                    userList.Add(genericUser.Id, newUser);
                    break;

                case "user":
                case "lead":
                    User user;
                    try
                    {
                        logger.Trace("Downloading user from Intercom: " + genericUser.Id);
                        user    = usersClient.View(genericUser.Id);
                        newUser = new IntercomUser(user);
                    }
                    catch (Intercom.Exceptions.ApiException e)
                    {
                        if (e.StatusCode == 404)
                        {
                            logger.Trace("User request returned 404 for: " + genericUser.Id);
                            newUser = new IntercomUser()
                            {
                                Id    = genericUser.Id,
                                Type  = genericUser.Type,
                                Name  = "Non-existing user",
                                Email = ""
                            };
                        }
                        else
                        {
                            logger.Error(e, "Couldn't download user from Intercom.");
                            throw e;
                        }
                    }
                    userList.Add(genericUser.Id, newUser);
                    break;

                default:
                    logger.Warn("Unknown type of user requested.");
                    break;
                }
            }
            return(userList[genericUser.Id]);
        }