[WebServices] Preparation exam Demo


14

Качено е демото на Дончо за подготовка за изпита в системата :

http://svn.academy.telerik.com/web-services/2013/Exams/.

Успех.




Отговори



8
След малко качвам и видеото

от DonchoMinkov (12706 точки)


0
Дончо, май има някакъв проблем с InMemoryHttpServer-a, GET-a не работи коректно - хвърля само NotFound. При мен и POST-a на работи, но при някои колеги работи така, че да приемем, че за него е в мен проблема

от vlad0 (6103 точки)

0
Аз имах същият проблем с домашното дето трябва да се предаде днес и така и не успях да намеря къде му е проблема;) Контролерите репоситорито всичко е тествано и работи през фидлер също работи а на сървара мята 404:)

от Gerya (1079 точки)



0
Видеото не е ли качено?

от Martin Tsekov 1 (0 точки)


0
Дончо обеща утре сутринта най-късно да го качи.

от plamen.yovchev (3283 точки)


2

от be_happy (70 точки)


26
Между другото понякога имам чувството, че се намирам в детската градина. Хубаво е да има шеги, но не на всяка 5-та минута да се прекъсва трейнъра докато обяснява...

от plamen.yovchev (3283 точки)


0
Не знам ама след 6 часа лекции, мисля че е нормално да се изперка:)

от Gerya (1079 точки)


8
Да, САШО , за теб става дума :).

от tankovski (2828 точки)


0
...Дончо няма запис без да повтори поне 5 пъти САШО...

от zhelyazkovn (2949 точки)


0

Имам един проблем,

Инклуднах InMemoryHttpServer за домашното за Integration Tests (това с учениците).

В теста ми за GET students, си пускам нов InMemoryHttpServer:

var httpServer = new InMemoryHttpServer("http://localhost/");
            var response = httpServer.CreateGetRequest("api/students");
 
обаче каквото и да му пусна, все ми връща 404 response..
 
Пробвах с нов router в InMemoryHttpServer, въпреки че api-то си върви и само с default-a.
 
Мерси предварително!

от nickeyz (878 точки)


0
Привет, да не си оставил дефолтния route отгоре? Сложи един brake point и виж дали изобщо влиза във въпросния контролер. Поздрави!

от nikolaikolarov (2177 точки)

0
Мерси, че писа!
Май въобще не влиза в контролера.
В момента нямам custom routes, използвам default route-a, методите в контролера са просто Getxx. Апито работи, заявките минават правилно..

от nickeyz (878 точки)



2
Здравейте,
Съжелявам, че въпросната подготовка не беше направена преди team work-a. Щеше да спести много нерви и много безсмислен код.
Поздрави!

от nikolaikolarov (2177 точки)


0
Още първата лекция на курса трябваше да бъде.

от saykor (8845 точки)


1
Да очакваме ли да се качи по-пълно условие на изпита, защото сега липсват примерните json-и за Постовете и част от Threads?
Примерно: api/threads/create, но по-долу не е дадено подробно какво приема и какво връща.
За сега ще си измислям.

Успех с подготовката колеги!

от werew (576 точки)


2

Когато вашите контролери наследяват някакъв BaseApiController, както направи Дончо, задължително трябва да имате custom routes за всяка контрола, тъй като наследяват една и същ контрола и при някои от заявките може да получите грешка "Multiple actions were found that match the request".

 

Примерен custom route:

config.Routes.MapHttpRoute(
                name: "StudentsApi",
                routeTemplate: "api/students/{id}",
                defaults: new
                {
                    controller = "students",
                    id = RouteParameter.Optional
                }
            );
 
И не забравяйте DefaultApi-то трябва да е последен!

 


от SVGN_H (3048 точки)


0
успя ли да подкараш InMemoryHTTPServer на друг проект различен от този на Дончо ? GET и POST

от vlad0 (6103 точки)

0
Все още не съм стигнал до примерния изпит, сега пиша Unit тестове, може би по-късни ще пробвам InMemory сървъра и ще ти кажа дали работи.

от SVGN_H (3048 точки)


0
Да попитам нещо, на изпита няма да е задължително ползването на repository, така ли? И ако да, само контролери ли ще се тестват и то само чрез интегрейшън тестове, както направи Дончо?



0
Няма да е задължително да има репозиторита и ще има само integration тестове.

от SVGN_H (3048 точки)


4

Ще съм много благодарен ако някой обясни, защо тоя InMemoryHttpServer ( последната верся от петък ) се държи така шантаво? По възможност преди изпита.

[TestMethod]
        public void GetAll_WhenDataInDatabase_ShouldReturnData()
        {
            var test = new School();
            var httpServer = new InMemoryHttpServer("http://localhost/");
            var response = httpServer.CreateGetRequest("api/school");
        }
 
Където School се намира в WebServicesTesting.Model НЕ работи. Връща 404 file not found.
 
Ако само този ред: var test = new School();
го сменя на var test = new testModel(); където testModel се намира в папка Models  в WebServicesTesting.WebApi работи ?!?!?! и връща 200 OK
 
Сложил съм бреакпоинт и проверявам response.
 
Днеска 2ма човека - аз и vlad0 изгубихме 3ч за да го дебъгваме, защо не работи InMemoryHttpServer е нашите проекти. Дори в самия проект на Дончо дето го прави на подготовката метода GetAll_WhenDataInDatabase_ShouldReturnData не работи. И там трябва да се пльокне примерно var testUser = new UserModel();
 
След 2ч изтича домашното за unit testing.
След 1 ден имаме изпит и ако 150 човека разчитат на InMemoryHttpServer без да прочетат тук ще гледат тестови филми понеделник.
 
Edit:
За демото от петък на подготовката говоря. Не за това от тестинг лекцията.

от saykor (8845 точки)


0
Качи си целият тест, че нещо не се ориентирам. При мен кода на Дончо тръгна с малки побутвания. Ако исакш ме търси в скайп, pirink.

от pirin (1101 точки)

0
И при мен си работи кода на Дончо. Гет метода пусна ли го без да го буташ да видиш какво връща?

от saykor (8845 точки)