Hendrik Jungnitsch
2022-09-30 c66917c237c5d5136d9461da09e1f9f9e1b4bce9
exercise
3 Dateien hinzugefügt
2 Dateien geändert
75 ■■■■■ Geänderte Dateien
src/main/java/de/gedoplan/seminar/sbt/di/exercise/domain/Beverage.java 4 ●●●● Patch | Ansicht | Raw | Blame | Historie
src/main/java/de/gedoplan/seminar/sbt/di/exercise/logging/LoggerProducer.java 20 ●●●●● Patch | Ansicht | Raw | Blame | Historie
src/main/java/de/gedoplan/seminar/sbt/di/exercise/service/IngredientService.java 12 ●●●●● Patch | Ansicht | Raw | Blame | Historie
src/test/java/de/gedoplan/seminar/sbt/di/exercise/Exercise09Test.java 4 ●●● Patch | Ansicht | Raw | Blame | Historie
src/test/java/de/gedoplan/seminar/sbt/di/exercise/Exercise10Test.java 35 ●●●●● Patch | Ansicht | Raw | Blame | Historie
src/main/java/de/gedoplan/seminar/sbt/di/exercise/domain/Beverage.java
@@ -22,6 +22,10 @@
    this.alcoholPercent = alcoholPercent;
  }
  public String getId() {
    return id;
  }
  public String getName() {
    return this.name;
  }
src/main/java/de/gedoplan/seminar/sbt/di/exercise/logging/LoggerProducer.java
Neue Datei
@@ -0,0 +1,20 @@
package de.gedoplan.seminar.sbt.di.exercise.logging;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.InjectionPoint;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Scope;
import static org.springframework.beans.factory.config.ConfigurableBeanFactory.SCOPE_PROTOTYPE;
@Configuration
public class LoggerProducer {
    @Bean
    @Scope(SCOPE_PROTOTYPE)
    public Logger getLogger(InjectionPoint injectionPoint) {
        return LoggerFactory.getLogger(injectionPoint.getMember().getDeclaringClass());
    }
}
src/main/java/de/gedoplan/seminar/sbt/di/exercise/service/IngredientService.java
Neue Datei
@@ -0,0 +1,12 @@
package de.gedoplan.seminar.sbt.di.exercise.service;
import org.springframework.stereotype.Component;
@Component
public class IngredientService {
  public boolean isAvailable(String id, double amount) {
    // Dummy check: Anything but rum is available
    return !"RUM".equals(id);
  }
}
src/test/java/de/gedoplan/seminar/sbt/di/exercise/Exercise09Test.java
@@ -13,12 +13,10 @@
@AutoConfigureMockMvc
@SpringBootTest
public class Exercise09Test {
    @Autowired
    MockMvc mockMvc;
    @Test
    public void testFiltersNonAlcEmpty() throws Exception {
    public void testMethodCounter() throws Exception {
        mockMvc.perform(get("/api/bar/cocktails"))
                .andExpect(status().isOk());
src/test/java/de/gedoplan/seminar/sbt/di/exercise/Exercise10Test.java
Neue Datei
@@ -0,0 +1,35 @@
package de.gedoplan.seminar.sbt.di.exercise;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.web.servlet.MockMvc;
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.*;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.jsonPath;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
@AutoConfigureMockMvc
@SpringBootTest
public class Exercise10Test {
    @Autowired
    MockMvc mockMvc;
    @Test
    public void test() throws Exception {
        String location = mockMvc.perform(post("/api/mixer/order"))
                .andExpect(status().isCreated())
                .andReturn().getResponse().getHeader("Location");
        mockMvc.perform(post(location+"/kirr"))
                .andExpect(status().isCreated());
        mockMvc.perform(post(location+"/stdq"))
                .andExpect(status().isConflict());
        mockMvc.perform(put(location+"/placed"))
                .andExpect(status().isNoContent());
    }
}