PhoenixServicesClientTests.cpp #2

  • //
  • guest/
  • tjuricek/
  • p4ws/
  • qt/
  • p4_phoenix_services_client/
  • test/
  • PhoenixServicesClientTests.cpp
  • Commits
# Change User Description Committed
#2 15791 tjuricek Removing very old p4ws branch
#1 13266 tjuricek Reorganized depot to avoid stream/main in path.

This may be re-imported.
//guest/tjuricek/p4ws/stream/main/qt/p4_phoenix_services_client/test/PhoenixServicesClientTests.cpp
#7 13218 tjuricek Replace use of C++11 'nullptr' with NULL
#6 13216 tjuricek Change to a C++03 build.

Major changes:

1. QSharedPointer::create(...) is much more restricted than in C++11, so just use the .reset() method unless you're passing in a single const reference argument to the constructor.

2. Using Qt's foreach.

3. Replace lambdas with simpler helper methods. This seems to work, but we may have subtle memory issues I'm not 100% on top of yet.
#5 13170 tjuricek Call out authentication problems with a specific application error code.
This allows Qt clients to easily know when they should recreate a new session.
#4 13169 tjuricek Return the created project when creating a new project, since default values will often be filled out.

Allow new projects to be created only with names set. We'll generate an ID at the moment, when I have better indexing, I'll double check for uniqueness.
#3 13165 tjuricek Basic Phoenix project metadata (the project name) can now be created and read back.
#2 13164 tjuricek First cut at SDK implementation of the Create-Read lifecycle of Phoenix projects.

(Bugs on the server side may be the issue, we'll see. TBD.)
#1 13153 tjuricek Reorganized the Qt libraries into a separate part of the tree, to make it easier for CMake configuration.

Added 'qt_build' and 'qt_test' tasks to at least execute tests and fail the build if they don't pass.

Started the implementation of the project library interaction.
Change: 1018651

Date: 3/4/15 11:43 AM

Client: tjuricek_dhcp-141-n100_5959

User: tjuricek

Status: pending

Type: public

Description:
Reorganized the Qt libraries into a separate part of the tree, to make it easier for CMake configuration.

Added 'qt_build' and 'qt_test' tasks to at least execute tests and fail the build if they don't pass.

Started the implementation of the project library interaction.


JobStatus:

Jobs:


Files:
//web-services/p4ws-main/Rakefile
//web-services/p4ws-main/p4_phoenix_services/clients/qt/p4_phoenix_services_client/CMakeLists.txt
//web-services/p4ws-main/p4_phoenix_services/clients/qt/p4_phoenix_services_client/PhoenixIntegrationTests.cpp
//web-services/p4ws-main/p4_phoenix_services/clients/qt/p4_phoenix_services_client/README
//web-services/p4ws-main/p4_phoenix_services/clients/qt/p4_phoenix_services_client/phoenix.h
//web-services/p4ws-main/p4_phoenix_services/clients/qt/p4_phoenix_services_client/phoenix/PhoenixProject.cpp
//web-services/p4ws-main/p4_phoenix_services/clients/qt/p4_phoenix_services_client/phoenix/PhoenixProject.h
//web-services/p4ws-main/p4_phoenix_services/clients/qt/p4_phoenix_services_client/phoenix/PhoenixServicesClient.cpp
//web-services/p4ws-main/p4_phoenix_services/clients/qt/p4_phoenix_services_client/phoenix/PhoenixServicesClient.h
//web-services/p4ws-main/p4_phoenix_services/clients/qt/p4_phoenix_services_client/phoenix/RequestError.cpp
//web-services/p4ws-main/p4_phoenix_services/clients/qt/p4_phoenix_services_client/phoenix/RequestError.h
//web-services/p4ws-main/p4_phoenix_services/clients/qt/p4_phoenix_services_client/phoenix/Session.cpp
//web-services/p4ws-main/p4_phoenix_services/clients/qt/p4_phoenix_services_client/phoenix/Session.h
//web-services/p4ws-main/p4_phoenix_services/clients/qt/p4_phoenix_services_client/test/PhoenixServicesClientTests.cpp
//web-services/p4ws-main/p4_phoenix_services/clients/qt/p4_phoenix_services_client/test/PhoenixServicesClientTests.h
//web-services/p4ws-main/p4_phoenix_services/clients/qt/p4_phoenix_services_client/test/SessionTests.cpp
//web-services/p4ws-main/p4_phoenix_services/clients/qt/p4_phoenix_services_client/test/SessionTests.h
//web-services/p4ws-main/p4_project_services/clients/qt/p4_project_services_client/CMakeLists.txt
//web-services/p4ws-main/p4_project_services/clients/qt/p4_project_services_client/p4_project_services.h
//web-services/p4ws-main/p4_project_services/clients/qt/p4_project_services_client/p4_project_services/Branch.cpp
//web-services/p4ws-main/p4_project_services/clients/qt/p4_project_services_client/p4_project_services/Branch.h
//web-services/p4ws-main/p4_project_services/clients/qt/p4_project_services_client/p4_project_services/Project.cpp
//web-services/p4ws-main/p4_project_services/clients/qt/p4_project_services_client/p4_project_services/Project.h
//web-services/p4ws-main/p4_project_services/clients/qt/p4_project_services_client/p4_project_services/View.cpp
//web-services/p4ws-main/p4_project_services/clients/qt/p4_project_services_client/p4_project_services/View.h
//web-services/p4ws-main/qt/CMakeLists.txt
//web-services/p4ws-main/qt/p4_phoenix_services_client/CMakeLists.txt
//web-services/p4ws-main/qt/p4_phoenix_services_client/PhoenixIntegrationTests.cpp
//web-services/p4ws-main/qt/p4_phoenix_services_client/README
//web-services/p4ws-main/qt/p4_phoenix_services_client/phoenix.h
//web-services/p4ws-main/qt/p4_phoenix_services_client/phoenix/PhoenixProject.cpp
//web-services/p4ws-main/qt/p4_phoenix_services_client/phoenix/PhoenixProject.h
//web-services/p4ws-main/qt/p4_phoenix_services_client/phoenix/PhoenixServicesClient.cpp
//web-services/p4ws-main/qt/p4_phoenix_services_client/phoenix/PhoenixServicesClient.h
//web-services/p4ws-main/qt/p4_phoenix_services_client/phoenix/RequestError.cpp
//web-services/p4ws-main/qt/p4_phoenix_services_client/phoenix/RequestError.h
//web-services/p4ws-main/qt/p4_phoenix_services_client/phoenix/Session.cpp
//web-services/p4ws-main/qt/p4_phoenix_services_client/phoenix/Session.h
//web-services/p4ws-main/qt/p4_phoenix_services_client/test/PhoenixServicesClientTests.cpp
//web-services/p4ws-main/qt/p4_phoenix_services_client/test/PhoenixServicesClientTests.h
//web-services/p4ws-main/qt/p4_phoenix_services_client/test/SessionTests.cpp
//web-services/p4ws-main/qt/p4_phoenix_services_client/test/SessionTests.h
//web-services/p4ws-main/qt/p4_project_services_client/CMakeLists.txt
//web-services/p4ws-main/qt/p4_project_services_client/build/CMakeCache.txt
//web-services/p4ws-main/qt/p4_project_services_client/build/CMakeFiles/2.8.12/CMakeCCompiler.cmake
//web-services/p4ws-main/qt/p4_project_services_client/build/CMakeFiles/2.8.12/CMakeCXXCompiler.cmake
//web-services/p4ws-main/qt/p4_project_services_client/build/CMakeFiles/2.8.12/CMakeDetermineCompilerABI_C.bin
//web-services/p4ws-main/qt/p4_project_services_client/build/CMakeFiles/2.8.12/CMakeDetermineCompilerABI_CXX.bin
//web-services/p4ws-main/qt/p4_project_services_client/build/CMakeFiles/2.8.12/CMakeSystem.cmake
//web-services/p4ws-main/qt/p4_project_services_client/build/CMakeFiles/2.8.12/CompilerIdC/CMakeCCompilerId.c
//web-services/p4ws-main/qt/p4_project_services_client/build/CMakeFiles/2.8.12/CompilerIdC/a.out
//web-services/p4ws-main/qt/p4_project_services_client/build/CMakeFiles/2.8.12/CompilerIdCXX/CMakeCXXCompilerId.cpp
//web-services/p4ws-main/qt/p4_project_services_client/build/CMakeFiles/2.8.12/CompilerIdCXX/a.out
//web-services/p4ws-main/qt/p4_project_services_client/build/CMakeFiles/CMakeDirectoryInformation.cmake
//web-services/p4ws-main/qt/p4_project_services_client/build/CMakeFiles/CMakeOutput.log
//web-services/p4ws-main/qt/p4_project_services_client/build/CMakeFiles/Makefile.cmake
//web-services/p4ws-main/qt/p4_project_services_client/build/CMakeFiles/Makefile2
//web-services/p4ws-main/qt/p4_project_services_client/build/CMakeFiles/TargetDirectories.txt
//web-services/p4ws-main/qt/p4_project_services_client/build/CMakeFiles/cmake.check_cache
//web-services/p4ws-main/qt/p4_project_services_client/build/CMakeFiles/p4_project_services_client.dir/DependInfo.cmake
//web-services/p4ws-main/qt/p4_project_services_client/build/CMakeFiles/p4_project_services_client.dir/build.make
//web-services/p4ws-main/qt/p4_project_services_client/build/CMakeFiles/p4_project_services_client.dir/cmake_clean.cmake
//web-services/p4ws-main/qt/p4_project_services_client/build/CMakeFiles/p4_project_services_client.dir/cmake_clean_target.cmake
//web-services/p4ws-main/qt/p4_project_services_client/build/CMakeFiles/p4_project_services_client.dir/depend.make
//web-services/p4ws-main/qt/p4_project_services_client/build/CMakeFiles/p4_project_services_client.dir/flags.make
//web-services/p4ws-main/qt/p4_project_services_client/build/CMakeFiles/p4_project_services_client.dir/link.txt
//web-services/p4ws-main/qt/p4_project_services_client/build/CMakeFiles/p4_project_services_client.dir/progress.make
//web-services/p4ws-main/qt/p4_project_services_client/build/CMakeFiles/progress.marks
//web-services/p4ws-main/qt/p4_project_services_client/build/Makefile
//web-services/p4ws-main/qt/p4_project_services_client/build/cmake_install.cmake
//web-services/p4ws-main/qt/p4_project_services_client/p4_project_services.h
//web-services/p4ws-main/qt/p4_project_services_client/p4_project_services/Branch.cpp
//web-services/p4ws-main/qt/p4_project_services_client/p4_project_services/Branch.h
//web-services/p4ws-main/qt/p4_project_services_client/p4_project_services/Project.cpp
//web-services/p4ws-main/qt/p4_project_services_client/p4_project_services/Project.h
//web-services/p4ws-main/qt/p4_project_services_client/p4_project_services/View.cpp
//web-services/p4ws-main/qt/p4_project_services_client/p4_project_services/View.h
//guest/tjuricek/p4ws/stream/main/p4_phoenix_services/clients/qt/p4_phoenix_services_client/test/PhoenixServicesClientTests.cpp
#2 13151 tjuricek As an interim step, allow the application/json Accept type to return the p4d ticket for the server.

In the future, there will likely be an adjustment to the POST request to store a separate host we attempt to generate a ticket for. Right now, these are host unlocked tickets, and not the production solution.
#1 13149 tjuricek Added a *very trivial* logIn implementation.

This just makes the *current* POST request to /p4_phoenix_services/v1/sessions, which *does not* include the ability to create a host locked P4 ticket for the user. So it's not quite usable yet. But, I've made several tweaks to the API which should be stablizing.